treafik/global/docker-compose.yml

110 lines
3.8 KiB
YAML

services:
traefik:
image: "traefik:v2.2"
command:
- --log.level=DEBUG
- --accesslog=true
container_name: "traefik"
restart: always
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "${PWD}/traefik.toml:/etc/traefik/traefik.toml"
- "${PWD}/dynamic.toml:/etc/traefik/dynamic.toml"
networks:
- internal
- traefik-public
portainer:
image: portainer/portainer-ce:latest
command: -H unix:///var/run/docker.sock
restart: always
# ports auskommentiert, warum soll portainer außerhalb vom traefik erreichbar sein
# ports:
# - 9000:9000
# - 8000:8000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
labels:
- traefik.enable=true
- traefik.http.middlewares.portainer-redirect-websecure.redirectscheme.scheme=https
- traefik.http.routers.portainer-web.rule=Host(`portainer.herrmann.es`)
- traefik.http.routers.portainer-web.entrypoints=web
- traefik.http.routers.portainer-web.middlewares=portainer-redirect-websecure
- traefik.http.routers.portainer-websecure.entrypoints=websecure
- traefik.http.routers.portainer-websecure.rule=Host(`portainer.herrmann.es`)
- traefik.tags= traefik-public
- traefik.docker.network=traefik-public
- traefik.http.routers.portainer-websecure.tls=true
- traefik.http.routers.portainer-websecure.tls.certresolver=myresolver
- traefik.http.services.portainer-global.loadbalancer.server.port=9000
networks:
- internal
- traefik-public
webmin-proxy:
image: qoomon/docker-host
restart: always
cap_add: ["NET_ADMIN", "NET_RAW"]
labels:
- traefik.enable=true
- traefik.http.middlewares.webmin-redirect-websecure.redirectscheme.scheme=https
- traefik.http.routers.webmin-web.rule=Host(`webmin.herrmann.es`)
- traefik.http.routers.webmin-web.entrypoints=web
- traefik.http.routers.webmin-web.middlewares=webmin-redirect-websecure
- traefik.http.routers.webmin-websecure.entrypoints=websecure
- traefik.http.routers.webmin-websecure.rule=Host(`webmin.herrmann.es`)
- traefik.tags= traefik-public
- traefik.docker.network=traefik-public
- traefik.http.routers.webmin-websecure.tls=true
- traefik.http.routers.webmin-websecure.tls.certresolver=myresolver
- traefik.http.services.webmin-global.loadbalancer.server.port=10000
networks:
- internal
- traefik-public
gitea:
image: gitea/gitea:1.21.11
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
labels:
- traefik.enable=true
- traefik.http.middlewares.gitea-redirect-websecure.redirectscheme.scheme=https
- traefik.http.routers.gitea-web.rule=Host(`gitea.herrmann.es`)
- traefik.http.routers.gitea-web.entrypoints=web
- traefik.http.routers.gitea-web.middlewares=webmin-redirect-websecure
- traefik.http.routers.gitea-websecure.entrypoints=websecure
- traefik.http.routers.gitea-websecure.rule=Host(`gitea.herrmann.es`)
- traefik.tags= traefik-public
- traefik.docker.network=traefik-public
- traefik.http.routers.gitea-websecure.tls=true
- traefik.http.routers.gitea-websecure.tls.certresolver=myresolver
- traefik.http.services.gitea-global.loadbalancer.server.port=3000
volumes:
- portainer_data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- internal
- traefik-public
volumes:
letsencrypt:
portainer_data:
gitea_data:
networks:
traefik-public:
name: traefik-public
external: false
internal:
name: internal
external: false