Some comments
This commit is contained in:
parent
7fb637509b
commit
fe64c0e4c5
@ -2,14 +2,14 @@ version: "2.4"
|
|||||||
|
|
||||||
networks:
|
networks:
|
||||||
web:
|
web:
|
||||||
# All containers that are router through traefik needs to be on this network
|
# All containers that are routed through traefik needs to be on this network
|
||||||
external: true
|
external: true
|
||||||
|
|
||||||
volumes:
|
|
||||||
authelia-config:
|
|
||||||
# Used for pre-processing of authelia configuration
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
|
# Autheal will restart any container that has the label
|
||||||
|
# autoheal: true
|
||||||
|
# and fail their healthcheck
|
||||||
autoheal:
|
autoheal:
|
||||||
container_name: autoheal
|
container_name: autoheal
|
||||||
restart: always
|
restart: always
|
||||||
@ -17,6 +17,8 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
|
# Traefik reverse proxy. Routes http and ssh trafic to the righ containers
|
||||||
|
# Controlled by container labels, see bottom of this compose file
|
||||||
traefik:
|
traefik:
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
image: traefik
|
image: traefik
|
||||||
@ -41,6 +43,7 @@ services:
|
|||||||
- ./traefik:/data
|
- ./traefik:/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
# Sometimes, traefik loses connection to authelia. The only thing that works then is a restart, handled by autoheal.
|
# Sometimes, traefik loses connection to authelia. The only thing that works then is a restart, handled by autoheal.
|
||||||
|
# I haven't checked for quite a while if this is still a problem, but might as well leave it in there.
|
||||||
test: ["CMD", "wget", "-O", "-", "authelia:9091/api/state"]
|
test: ["CMD", "wget", "-O", "-", "authelia:9091/api/state"]
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: true
|
traefik.enable: true
|
||||||
@ -50,6 +53,7 @@ services:
|
|||||||
traefik.http.routers.traefik.tls.certResolver: le
|
traefik.http.routers.traefik.tls.certResolver: le
|
||||||
autoheal: "true"
|
autoheal: "true"
|
||||||
|
|
||||||
|
# Authelia handles access control with 2FA
|
||||||
authelia:
|
authelia:
|
||||||
container_name: authelia
|
container_name: authelia
|
||||||
image: authelia/authelia
|
image: authelia/authelia
|
||||||
@ -75,6 +79,7 @@ services:
|
|||||||
traefik.http.routers.authelia.entrypoints: websecure
|
traefik.http.routers.authelia.entrypoints: websecure
|
||||||
autoheal: "true"
|
autoheal: "true"
|
||||||
|
|
||||||
|
# Homer provides a dashboard for all services. Configured through ./homer/config.yml
|
||||||
homer:
|
homer:
|
||||||
container_name: homer
|
container_name: homer
|
||||||
image: b4bz/homer
|
image: b4bz/homer
|
||||||
@ -91,6 +96,7 @@ services:
|
|||||||
traefik.http.routers.homer.rule: Host(`${PRIVATE_DOMAIN}`) || Host(`www.${PRIVATE_DOMAIN}`)
|
traefik.http.routers.homer.rule: Host(`${PRIVATE_DOMAIN}`) || Host(`www.${PRIVATE_DOMAIN}`)
|
||||||
traefik.http.routers.homer.tls.certResolver: le
|
traefik.http.routers.homer.tls.certResolver: le
|
||||||
|
|
||||||
|
# Dozzle is an easy way to view docker logs through a web interface
|
||||||
dozzle:
|
dozzle:
|
||||||
image: amir20/dozzle
|
image: amir20/dozzle
|
||||||
restart: always
|
restart: always
|
||||||
|
@ -6,10 +6,12 @@ http:
|
|||||||
loadBalancer:
|
loadBalancer:
|
||||||
servers:
|
servers:
|
||||||
- url: http://192.168.0.1:80
|
- url: http://192.168.0.1:80
|
||||||
|
|
||||||
proxmox:
|
proxmox:
|
||||||
loadBalancer:
|
loadBalancer:
|
||||||
servers:
|
servers:
|
||||||
- url: https://192.168.0.10:8006
|
- url: https://192.168.0.10:8006
|
||||||
|
|
||||||
prusa:
|
prusa:
|
||||||
loadBalancer:
|
loadBalancer:
|
||||||
servers:
|
servers:
|
||||||
@ -24,6 +26,7 @@ http:
|
|||||||
- auth
|
- auth
|
||||||
tls:
|
tls:
|
||||||
certResolver: le
|
certResolver: le
|
||||||
|
|
||||||
proxmox:
|
proxmox:
|
||||||
service: proxmox
|
service: proxmox
|
||||||
rule: Host(`proxmox.{{ env "PRIVATE_DOMAIN" }}`)
|
rule: Host(`proxmox.{{ env "PRIVATE_DOMAIN" }}`)
|
||||||
@ -31,6 +34,7 @@ http:
|
|||||||
- auth
|
- auth
|
||||||
tls:
|
tls:
|
||||||
certResolver: le
|
certResolver: le
|
||||||
|
|
||||||
prusa:
|
prusa:
|
||||||
service: prusa
|
service: prusa
|
||||||
rule: Host(`prusa.{{env "PRIVATE_DOMAIN"}}`)
|
rule: Host(`prusa.{{env "PRIVATE_DOMAIN"}}`)
|
||||||
|
@ -23,8 +23,9 @@ entryPoints:
|
|||||||
certificatesResolvers:
|
certificatesResolvers:
|
||||||
le:
|
le:
|
||||||
acme:
|
acme:
|
||||||
# caServer: https://acme-staging-v02.api.letsencrypt.org/directory
|
|
||||||
# email: SET BY ENV VARIABLE TRAEFIK_CERTIFICATERESOLVERS_LE_ACME_EMAIL
|
# email: SET BY ENV VARIABLE TRAEFIK_CERTIFICATERESOLVERS_LE_ACME_EMAIL
|
||||||
storage: /data/acme.json
|
storage: /data/acme.json
|
||||||
httpChallenge:
|
httpChallenge:
|
||||||
entrypoint: web
|
entrypoint: web
|
||||||
|
# UNCOMMENT NEXT ROW FOR EXPERIMENTATION
|
||||||
|
# caServer: https://acme-staging-v02.api.letsencrypt.org/directory
|
||||||
|
Loading…
x
Reference in New Issue
Block a user