pini-gh / nginx-proxy Goto Github PK
View Code? Open in Web Editor NEWThis project forked from nginx-proxy/nginx-proxy
Automated nginx proxy for Docker containers using docker-gen
License: MIT License
This project forked from nginx-proxy/nginx-proxy
Automated nginx proxy for Docker containers using docker-gen
License: MIT License
Using pinidh/nginx-proxy:latest@sha256:9d5083d65dbb66aad66476caa00e4c0054d1bafabfd4e85a132cf86f6b62904e
. I have:
VIRTUAL_HOST=mywebsite
and VIRTUAL_PATH=/
VIRTUAL_HOST=mywebsite
and VIRTUAL_PATH=/auth
VIRTUAL_HOST=mywebsite
, VIRTUAL_PATH=/api/path
, and VIRTUAL_DEST=/path
All of these three work fine, and nginx -T
returns what you'd expect for all of them, and the ports are inferred. As soon as I add in:
VIRTUAL_HOST=mywebsite
and VIRTUAL_PORT=8199:~ ^/(pathone|pathtwo|paththree)/,8197:/pathfour:/
The other three no longer generate entries; only the fourth one does. As soon as I shut down the fourth one, its entries disappear and the ones for the other three reappear. When I start it back up, its entries appear and the other entries disappear. Removing the second VIRTUAL_PORT entry does not help, so it seems that it is not necessarily a problem with multiport routing but with the new config format. Incidentally, another VIRTUAL_HOST I have configured on the same box is unaffected. Any way to avoid this? Thanks in advance.
Thanks for this awesome fork! If it works, it makes my live much easier for local development with Hot Module Reloading.
So my Problem is as follows:
I expose two virtual Hosts, www.domain.test, hmr.domain.test:8001.
www.domain.test works as expected with the standart http Port 80
But the hmr.domain.test returns a 404 Page not Found.
The default.conf says the following:
# hmr.domain.test
upstream hmr.domain.test_8001 {
# Cannot connect to network 'domain' of this container
## Can be connected with "nginx-proxy" network
# domain-http
server 172.19.0.5:8001;
}
server {
server_name hmr.domain.test;
listen 80 ;
access_log /var/log/nginx/access.log vhost;
# Do not HTTPS redirect Let'sEncrypt ACME challenge
location ^~ /.well-known/acme-challenge/ {
auth_basic off;
auth_request off;
allow all;
root /usr/share/nginx/html;
try_files $uri =404;
break;
}
location / {
return 301 https://$host$request_uri;
}
}
that seems to be fine so far.
My VIRTUAL_HOST is this: events.domain.test, www.domain.test
And i am using a Wildcard Certificate for the Domain but this is working for www.domain.test
Do you have any idea what could be wrong?
The hmr.domain.test should be exposed on Port 80 right?
Thank you a lot!
When I setup Collabora with pini-gh / nginx-proxy and pini-gh / docker-letsencrypt-nginx-proxy-companion . I can get the certificate correctly but the reverse proxy only sets itself up on on port 80 and 443. When I had it publish on another port like 9980, it does not proxy to that port. Here is my file.
version: '3.7'
services:
proxy:
image: pinidh/nginx-proxy:latest
labels:
- nextcloud-proxy.nginx-proxy=true
container_name: nextcloud-proxy
networks:
- network1
- network2
- network3
ports:
- 80:80
- 443:443
- 9980:9980
volumes:
- nextcloud_dhparam:/etc/nginx/dhparam
- nextcloud_conf.d:/etc/nginx/conf.d:rw
- nextcloud_vhost.d:/etc/nginx/vhost.d:rw
- nextcloud_html:/usr/share/nginx/html:rw
- nextcloud_certs:/etc/nginx/certs:ro
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
restart: unless-stopped
letsencrypt:
image: pinidh/letsencrypt-nginx-proxy-companion:latest
container_name: nextcloud-letsencrypt
depends_on:
- proxy
networks:
- network1
- network3
volumes:
- nextcloud_acme:/etc/acme.sh
- nextcloud_certs:/etc/nginx/certs:rw
- nextcloud_vhost.d:/etc/nginx/vhost.d:rw
- nextcloud_html:/usr/share/nginx/html:rw
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- NGINX_PROXY_CONTAINER_LABEL=nextcloud-proxy.nginx-proxy
- NETWORK_ACCESS=internal
restart: unless-stopped
db:
image: mariadb
container_name: nextcloud-mariadb
networks:
- network4
volumes:
- nextcloud_db:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_ROOT_PASSWORD=dragondragon
- MYSQL_PASSWORD=dradra
- MYSQL_DATABASE=dragon
- MYSQL_USER=dragonballz
- NETWORK_ACCESS=internal
restart: unless-stopped
app:
image: nextcloud:latest
container_name: nextcloud-app
networks:
- network2
- network4
- network3
depends_on:
- letsencrypt
- proxy
- db
- av
- collabora
volumes:
- nextcloud:/var/www/html
- nextcloud_app_config:/var/www/html/config
- nextcloud_app_custom_apps:/var/www/html/custom_apps
- nextcloud_app_data:/var/www/html/data
- nextcloud_app_themes:/var/www/html/themes
- /etc/localtime:/etc/localtime:ro
environment:
- VIRTUAL_HOST=march.ofthedragon.com
- LETSENCRYPT_march.ofthedragon.com
- LETSENCRYPT_DNS_MODE=dns_duckdns
- LETSENCRYPT_DNS_MODE_SETTINGS=export DuckDNS_Token=atokeneffort
- LETSENCRYPT_EMAIL=theemailtheemailthethetheemail
- NETWORK_ACCESS=internal
- LETSENCRYPT_TEST=true
- DEBUG=1
restart: unless-stopped
av:
image: mkodockx/docker-clamav:alpine
container_name: nextcloud-clamav
networks:
- network2
depends_on:
- proxy
environment:
- NETWORK_ACCESS=internal
restart: unless-stopped
collabora:
image: collabora/code
container_name: nextcloud-collabora
networks:
- network3
depends_on:
- letsencrypt
- proxy
volumes:
- /etc/localtime:/etc/localtime:ro
environment:
- VIRTUAL_HOST=data.ballz.com
- LETSENCRYPT_HOST=data.ballz.com
- LETSENCRYPT_DNS_MODE=dns_duckdns
- LETSENCRYPT_DNS_MODE_SETTINGS=export DuckDNS_Token=atokeneffort
- LETSENCRYPT_EMAIL=theemailtheemailthethetheemail
- LETSENCRYPT_TEST=true
- DEBUG=1
- domain=march\\.ofthedragon\\.com
- username=datadata
- password=databallz
- dictionaries=en de es it fr ja
- NETWORK_ACCESS=internal
cap_add:
- MKNOD
restart: unless-stopped
volumes:
nextcloud:
nextcloud_db:
nextcloud_conf.d:
nextcloud_vhost.d:
nextcloud_html:
nextcloud_certs:
nextcloud_app_config:
nextcloud_app_custom_apps:
nextcloud_app_data:
nextcloud_app_themes:
nextcloud_acme:
nextcloud_dhparam:
networks:
network4:
internal: true
network2:
network1:
network3:
internal: true
Hello. I am unsing "sonatype/nexus3"
The container exposes 8081 as default. You can add a 2nd port (later after the installation) and give it e.g. 8082.
Note 8082 might be not available when I start the container the first time.
I want the following mapping.
nexus.mydomain.tld -> 8081
registry.mydomain.tld -> 8082
Is this possible with your patch?
Thx.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.