Updated Traefik container to expose api + doashboard, as well as setup entrypoints
This commit is contained in:
		@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user