Can nginx proxy manager reverse proxy non docker? reddit / selfhosted ---------------------------------------------------------------------- AhmedBarayez · 2023-11-24 21:19 So i have a vm hosted on my proxmox server with docker and nginx proxy manager, it can reverse proxy any container on the same network “bridge” without any problems.. However, i have other vms on proxmox “non docker” that i eant to reverse proxy to it but I couldn’t do it… I tried using (network_mode: host) and (network: external) But it doesn’t seem to work, whenever i inspect docker network it always says that npm is running on bridge network.. Tldr I need containerized npm to reverse proxy other “non docker” proxmox vms ---------------------------------------------------------------------- paulmataruso · 2023-11-24 21:47 Yes absolutely. `version: '3.8'` `services:` `npm:` `image: 'jc21/nginx-proxy-manager:latest'` `# sysctls:` `# net.core.somaxconn: 4096` `restart: unless-stopped` `ports:` `# These ports are in format :` `- '80:80' # Public HTTP Port` `- '443:443' # Public HTTPS Port` `- '81:81' # Admin Web Port` `# Add any other Stream port you want to expose` `- '21:21' # FTP21` `- '20:20' # FTP20` `environment:` `# Mysql/Maria connection parameters:` `DB_MYSQL_HOST: "db"` `DB_MYSQL_PORT: 3306` `DB_MYSQL_USER: "npm"` `DB_MYSQL_PASSWORD: "npm"` `DB_MYSQL_NAME: "npm"` `# Uncomment this if IPv6 is not enabled on your host` `# DISABLE_IPV6: 'true'` `volumes:` `- ./data:/data` `- ./letsencrypt:/etc/letsencrypt` `# - ./logrotate:/etc/logrotate.d` `depends_on:` `- db` `db:` `image: 'jc21/mariadb-aria:latest'` `restart: unless-stopped` `environment:` `MYSQL_ROOT_PASSWORD: 'npm'` `MYSQL_DATABASE: 'npm'` `MYSQL_USER: 'npm'` `MYSQL_PASSWORD: 'npm'` `volumes:` `- ./mysql:/var/lib/mysql` This is pretty much a default NPM install on docker. When you go to the GUI and add a proxy host, just use the IP address or DNS name of the VM on proxmox. ---------------------------------------------------------------------- AhmedBarayez · 2023-11-24 21:52 I’m using the same conf but It doesn’t work ---------------------------------------------------------------------- Drauku · 2023-11-24 22:53 I suggest creating a custom docker bridge network on which you put all your other docker containers that you want to give access to the local network. There are other reasons a custom bridge is preferred, but that's a different subject. Here is the terminal command that will create a custom docker bridge network named `reverse_proxy`: ```bash docker network create --opt "encrypted" --scope "local" --driver "bridge" --subnet "172.27.2.0/24" --gateway "172.27.2.254" --attachable "reverse_proxy" ``` Here's the NXPM `docker-compose.yml` I'm using that works for this purpose: ```yaml version: '3' networks: reverse_proxy: external: true services: app: image: 'jlesage/nginx-proxy-manager' container_name: 'nxpm' restart: unless-stopped networks: - reverse_proxy ports: - '22080:80' - '22081:81' - '22443:443' volumes: - /opt/docker/appdata/nxpm/data:/data - /opt/docker/appdata/nxpm/certs:/etc/letsencrypt ``` Note the two `networks:` sections, one outside of and one inside the nxpm service stanza. Once this container is up and running, you should be able to route to any network service on the local area network connected to your docker host by creating a host redirect in the nxpm webui that points to that services `lan.ip:port`. ---------------------------------------------------------------------- AhmedBarayez · 2023-11-24 23:06 modifed my yml file to match yours `version: '3.8'` `services:` `networks:` `reverse_proxy:` `external: true` `app:` `image: 'jc21/nginx-proxy-manager:latest'` `restart: unless-stopped` `networks:` `- reverse_proxy` `ports:` `# These ports are in format :` `- '80:80' # Public HTTP Port` `- '443:443' # Public HTTPS Port` `- '81:81' # Admin Web Port` `# Add any other Stream port you want to expose` `# - '21:21' # FTP` `# Uncomment the next line if you uncomment anything in the section` `# environment:` `# Uncomment this if you want to change the location of` `# the SQLite DB file within the container` `# DB_SQLITE_FILE: "/data/database.sqlite"` `# Uncomment this if IPv6 is not enabled on your host` `# DISABLE_IPV6: 'true'` `volumes:` `- ./data:/data` `- ./letsencrypt:/etc/letsencrypt` but when running docer compose up i get this error `validating /home/ubuntu/nginx-npm/docker-compose.yml: networks.app Additional property restart is not allowed` ---------------------------------------------------------------------- AhmedBarayez · 2023-11-24 23:34 Ok i fixed this error and npm is running now but still can't reverse proxy proxmox vm using npm ---------------------------------------------------------------------- Electronic_Clap · 2023-11-25 09:48 On proxmox just bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nginxproxymanager.sh)" [Proxmox VE helper scripts](https://tteck.github.io/Proxmox/) ---------------------------------------------------------------------- DIBSSB · 2023-11-25 11:10 Yes it can ---------------------------------------------------------------------- AhmedBarayez · 2023-11-25 11:40 The question is: How? ---------------------------------------------------------------------- AhmedBarayez · 2023-11-25 15:44 running this script but cannot open UI or login to shell using [admin@example.com](mailto:admin@example.com) and changeme ---------------------------------------------------------------------- tteckster · 2023-11-25 15:48 It is crucial not to exit the Proxmox shell while running scripts. Leaving the shell during script execution will result in the script being interrupted. ---------------------------------------------------------------------- AhmedBarayez · 2023-11-25 16:13 Thanks, now i got to the UI and added sttaic dns to the IP address in my dns server so when i ping zabbix.local it reply with my server ip 10.0.10.249 but when i go to zabbix.local i get