mirror of
https://github.com/odoocker/odoocker
synced 2025-11-04 23:29:19 +01:00
ADD: Traefik support - initial commit
This commit is contained in:
@@ -144,6 +144,7 @@ ODOO_PROFILES="odoo"
|
|||||||
POSTGRES_PROFILES="postgres"
|
POSTGRES_PROFILES="postgres"
|
||||||
NGINX_PROFILES="nginx"
|
NGINX_PROFILES="nginx"
|
||||||
NGINX_PROXY_PROFILES="proxy"
|
NGINX_PROXY_PROFILES="proxy"
|
||||||
|
TRAEFIK_PROFILES="traefik"
|
||||||
ACME_COMPANION_PROFILES="acme"
|
ACME_COMPANION_PROFILES="acme"
|
||||||
KEYDB_PROFILES="keydb"
|
KEYDB_PROFILES="keydb"
|
||||||
MINIO_PROFILES="minio"
|
MINIO_PROFILES="minio"
|
||||||
@@ -156,6 +157,7 @@ KEYDB_TAG=latest
|
|||||||
MINIO_TAG=latest
|
MINIO_TAG=latest
|
||||||
NGINX_TAG=1.25.3
|
NGINX_TAG=1.25.3
|
||||||
NGINX_PROXY_TAG=1.4.0
|
NGINX_PROXY_TAG=1.4.0
|
||||||
|
TRAEFIK_TAG=2.11
|
||||||
ACME_COMPANION_TAG=2.2.9
|
ACME_COMPANION_TAG=2.2.9
|
||||||
PGADMIN_TAG=8.1
|
PGADMIN_TAG=8.1
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,12 @@ services:
|
|||||||
- 80:80
|
- 80:80
|
||||||
- 443:443
|
- 443:443
|
||||||
|
|
||||||
|
traefik:
|
||||||
|
restart: 'no'
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
- 443:443
|
||||||
|
|
||||||
letsencrypt:
|
letsencrypt:
|
||||||
restart: 'no'
|
restart: 'no'
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,12 @@ services:
|
|||||||
- 80:80
|
- 80:80
|
||||||
- 443:443
|
- 443:443
|
||||||
|
|
||||||
|
traefik:
|
||||||
|
restart: 'unless-stopped'
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
- 443:443
|
||||||
|
|
||||||
letsencrypt:
|
letsencrypt:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|||||||
@@ -117,6 +117,48 @@ services:
|
|||||||
- internal
|
- internal
|
||||||
profiles: [$NGINX_PROXY_PROFILES]
|
profiles: [$NGINX_PROXY_PROFILES]
|
||||||
|
|
||||||
|
traefik:
|
||||||
|
container_name: traefik
|
||||||
|
image: "traefik:${TRAEFIK_TAG}"
|
||||||
|
networks:
|
||||||
|
- internal
|
||||||
|
command:
|
||||||
|
- --api.dashboard=true
|
||||||
|
- --api.insecure=false
|
||||||
|
- --api.debug=true
|
||||||
|
- --entrypoints.web.address=:80
|
||||||
|
- --entrypoints.websecure.address=:443
|
||||||
|
- --providers.docker
|
||||||
|
- --log.level=INFO
|
||||||
|
- --accesslog.filepath=/var/log/traefik/access.log
|
||||||
|
- --certificatesresolvers.leresolver.acme.httpchallenge=true
|
||||||
|
- --certificatesresolvers.leresolver.acme.httpchallenge.entrypoint=web
|
||||||
|
- --certificatesresolvers.leresolver.acme.email=xxxxxx@yourdomain.tld #Set your email address here, is for the generation of SSL certificates with Let's Encrypt.
|
||||||
|
- --certificatesresolvers.leresolver.acme.storage=/acme.json
|
||||||
|
# - --certificatesresolvers.leresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
|
||||||
|
- --serversTransport.insecureSkipVerify=true
|
||||||
|
tty: true
|
||||||
|
volumes:
|
||||||
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||||
|
- "./acme.json:/acme.json"
|
||||||
|
- traefik_logs:/var/log/traefik
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
|
||||||
|
# Catch all HTTP trafic and redirect it to HTTPS
|
||||||
|
- "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
|
||||||
|
- "traefik.http.routers.http-catchall.entrypoints=web"
|
||||||
|
- "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
|
||||||
|
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
|
||||||
|
|
||||||
|
# Traefik Dashboard route
|
||||||
|
- "traefik.http.routers.traefik-dashboard.rule=Host(`traefik.yourdomain.tld`)"
|
||||||
|
- "traefik.http.routers.traefik-dashboard.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.traefik-dashboard.tls.certresolver=leresolver"
|
||||||
|
- "traefik.http.routers.traefik-dashboard.service=api@internal"
|
||||||
|
profiles: [$TRAEFIK_PROFILES]
|
||||||
|
|
||||||
|
|
||||||
letsencrypt:
|
letsencrypt:
|
||||||
image: nginxproxy/acme-companion:${ACME_COMPANION_TAG}
|
image: nginxproxy/acme-companion:${ACME_COMPANION_TAG}
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -216,6 +258,7 @@ volumes:
|
|||||||
vhost:
|
vhost:
|
||||||
certs:
|
certs:
|
||||||
acme:
|
acme:
|
||||||
|
traefik_logs:
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
internal:
|
internal:
|
||||||
|
|||||||
0
traefik/acme.json
Normal file
0
traefik/acme.json
Normal file
Reference in New Issue
Block a user