services:
# http proxy
http-proxy:
image: traefik:v2.6
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./data/http-proxy-acme:/acme:rw
ports:
- 80:80
- 443:443
networks:
- web
command:
--providers.docker
--entrypoints.web.address=:80
--entrypoints.web.http.tls=false
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
# ldap
ldap-server:
extends:
file: ldap-server/docker-compose.yml
service: ldap-server
networks:
- web
ports:
- 389:389
ldap-passwd-webui:
extends:
file: ldap-server/docker-compose.yml
service: ldap-passwd-webui
networks:
- web
labels:
- traefik.http.routers.ldap-passwd-webui.rule=Host(`passwd.localhost`)
- traefik.http.services.ldap-passwd-webui.loadbalancer.server.port=8080
# wireguard server
wg-server:
extends:
file: wg-server/docker-compose.yml
service: wg-server
# host network
# networks:
# - web
labels:
- traefik.http.routers.wg-server.rule=Host(`wg.localhost`)
- traefik.http.services.wg-server.loadbalancer.server.port=8123
# wiki
wiki-db:
extends:
file: wiki/docker-compose.yml
service: wiki-db
networks:
- web
wiki-server:
extends:
file: wiki/docker-compose.yml
service: wiki-server
networks:
- web
labels:
- traefik.http.routers.wiki-server.rule=Host(`localhost`) || Host(`www.localhost`) || Host(`wiki.localhost`)
- traefik.http.services.wiki-server.loadbalancer.server.port=3000
networks:
# global network for web services
web:
name: "web"