diff --git a/docker-compose.yml b/docker-compose.yml index 80078a2..82a91cf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,7 +17,7 @@ services: volumes: - "db:${DB_VOLUME_CONTAINER}" networks: - - traefik-network + - reverseproxy hub: depends_on: @@ -39,7 +39,7 @@ services: ports: - "8000:8000" networks: - - traefik-network + - reverseproxy labels: - "traefik.enable=true" - "traefik.frontend.rule=Host:hub.docker.localhost" @@ -63,30 +63,37 @@ services: command: > jupyterhub -f /srv/jupyterhub/jupyterhub_config.py - reverse-proxy: + traefik: image: traefik:latest container_name: reverse-proxy - command: --web --docker --docker.domain=docker.localhost --logLevel=DEBUG networks: - - traefik-network + - reverseproxy + cap_drop: + - all + cap_add: + - net_bind_service ports: - 80:80 - 443:443 - 8080:8080 volumes: - /var/run/docker.sock:/var/run/docker.sock - - ./traefik.toml:/traefik.toml - - ./secrets/acme.json:/acme.json + - $PWD/traefik.toml:/traefik.toml + - $PWD/secrets/acme.json:/acme.json nginx: image: nginx:latest container_name: nginx labels: - - "traefik.enable=true" - - "traefik.frontend.rule=Host:www.docker.localhost" + - traefik.enable=true + - traefik.frontend.rule=Host:consistentbayes.com + - traefik.backend=nginx + - traefik.docker.network=reverseproxy + - traefik.port=80 networks: - - traefik-network + - reverseproxy + - internal volumes: - ./public_html:/usr/share/nginx/html @@ -100,7 +107,11 @@ volumes: networks: default: - external: + external: name: ${DOCKER_NETWORK_NAME} - traefik-network: - external: true + reverseproxy: + external: + name: reverseproxy + internal: + external: false + diff --git a/traefik.toml b/traefik.toml index a305ccd..69d1d28 100644 --- a/traefik.toml +++ b/traefik.toml @@ -1,12 +1,15 @@ logLevel = "DEBUG" defaultEntryPoints = ["http", "https"] -[web] -address = ":8080" +[api] +dashboard = true +entrypoint = "webentry" [docker] -domain ="docker.localhost" +domain ="consistentbayes.com" watch = true +exposedbydefault = false +endpoint = "unix:///var/run/docker.sock" [entryPoints] [entryPoints.http] @@ -16,14 +19,22 @@ watch = true [entryPoints.https] address = ":443" [entryPoints.https.tls] +[entrypoints.webentry] + address = ":8080" + [entrypoints.webentry.auth] + [entrypoints.webentry.auth.basic] + users = ["admin:$apr1$Wc4H94je$1rkT26mDWGkQ/UVDLc7E9."] + [acme] email="consistentbayes@gmail.com" - storage="acme.json" + storage="secrets/acme.json" entryPoint="https" acmeLogging=true - onDemand=true + onDemand=false OnHostRule=true [acme.httpChallenge] entryPoint = "http" + provider = "namecheap" + delayBeforeCheck = 0