Skip to content

Instantly share code, notes, and snippets.

@x1unix
Last active April 19, 2024 13:26
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save x1unix/0cc34257d1824790325c0fe56afa302e to your computer and use it in GitHub Desktop.
Save x1unix/0cc34257d1824790325c0fe56afa302e to your computer and use it in GitHub Desktop.
pihole+traefik
version: "3"
services:
traefik:
image: traefik:v2.10
container_name: 'traefik'
command:
- '--log.level=DEBUG'
- '--api.insecure=true'
- '--api.dashboard=true'
- '--api.debug=true'
- '--providers.docker=true'
- '--providers.docker.exposedbydefault=false'
- '--entrypoints.web.address=:80'
ports:
- '80:80/tcp'
- '8080:8080/tcp'
volumes:
- '/mnt/userdata/var/run/docker.sock:/var/run/docker.sock:ro'
labels:
- 'traefik.docker.network=docker_pisvc'
- 'traefik.http.routers.traefik.rule=Host(`traefik.rpi.home`'
- 'traefik.http.routers.traefik.service=api@internal'
- 'traefik.http.middlewares.traefik.entrypoints=web'
restart: unless-stopped
networks:
- pisvc
pihole:
container_name: pihole
image: pihole/pihole:latest
restart: unless-stopped
env_file:
- ./env/pihole.env
volumes:
- './etc/pihole:/etc/pihole'
- './etc/dnsmasq.d:/etc/dnsmasq.d'
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.pihole.rule=Host(`pihole.rpi.home`)'
- 'traefik.http.routers.pihole.entrypoints=web'
- 'traefik.http.middlewares.pihole.addprefix.prefix=/admin'
- 'traefik.http.services.pihole.loadBalancer.server.port=80'
cap_add:
- NET_ADMIN
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "853:853/tcp"
networks:
- pisvc
dashboard:
image: joseluisq/static-web-server:2
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.dashboard.rule=Host(`rpi.home`)'
- 'traefik.http.routers.dashboard.entrypoints=web'
volumes:
- './var/www:/var/www:ro'
environment:
- 'SERVER_ROOT=/var/www'
networks:
- pisvc
ptagent:
image: portainer/agent:2.18.1
volumes:
- /mnt/userdata/var/run/docker.sock:/var/run/docker.sock
- /mnt/userdata/var/lib/docker/volumes:/var/lib/docker/volumes
restart: unless-stopped
networks:
- portainer
portainer:
image: portainer/portainer-ce:2.18.1
command: -H tcp://ptagent:9001 --tlsskipverify --http-enabled
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.portainer.rule=Host(`portainer.rpi.home`)'
- 'traefik.http.services.portainer.loadbalancer.server.port=9000'
- 'traefik.http.routers.portainer.entrypoints=web'
volumes:
- portainer_data:/data
restart: unless-stopped
networks:
- portainer
- pisvc
networks:
pisvc:
driver: bridge
portainer:
driver: bridge
volumes:
portainer_data: {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment