Updated Traefik container to expose api + doashboard, as well as setup entrypoints

This commit is contained in:
Luke Else 2022-11-02 19:16:07 +00:00
parent df275b5e46
commit 8c59c826e3

View File

@ -6,24 +6,50 @@ services:
traefik: traefik:
image: 'traefik:latest' image: 'traefik:latest'
container_name: traefik container_name: traefik
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '8080:8080' # Dashboard Port
volumes: volumes:
- ./nginx/data:/data - ./letsencrypt:/letsencrypt
- ./nginx/letsencrypt:/etc/letsencrypt - /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped - ./dynamic.yaml:/dynamic.yaml
networks: networks:
## Traefik is sat on every network to allow exposure ##
- traefik - traefik
- frontend - frontend
- development - development
- backend - backend
- bitwarden - bitwarden
- services - services
ports:
## These ports are in format <host-port>:<container-port> ##
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '8080:8080' # Dashboard Port
command:
## General Settings ##
- --api.insecure=true
- --api.dashboard=true
- --api.debug=true
## Log Settings ##
- --log.level=DEBUG # <== Setting the level of the logs from traefik
## Provider Settings ##
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --providers.file.filename=/dynamic.yaml
## Entrypoints Settings ##
- --entrypoints.http.address=:80
- --entrypoints.https.address=:443
## Certificate Settings ##
- --certificatesresolvers.mytlschallenge.acme.tlschallenge=true
- --certificatesresolvers.mytlschallenge.acme.email=contact@luke-else.co.uk
- --certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json
labels:
## Exposing API Dashboard Service ##
- "traefik.enable=true"
- "traefik.http.routers.api.rule=Host(traefik.luke-else.co.uk)"
- "traefik.http.routers.api.service=api@internal"
restart: unless-stopped
## All Networks for child containers - All containers depend on this container being spun up ##
networks: networks:
traefik: traefik:
name: traefik name: traefik