networks: proxy_network: enable_ipv6: true name: proxy_network services: caddy: image: caddy container_name: caddy restart: unless-stopped networks: - proxy_network ports: - 80:80 - 443:443/tcp - 443:443/udp - 10.200.200.254:8888:8888 - 8448:8448 expose: - 2019 volumes: - /app-config/caddy/data:/data - /app-config/caddy/Caddyfile:/etc/caddy/Caddyfile - /app-config/caddy/logs:/var/log/caddy vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: always expose: - 80 environment: DOMAIN: "https://vault.sascha-lutz.de" # Your domain; vaultwarden needs to know it's https to work properly with attachments SIGNUPS_ALLOWED: "false" INVITATIONS_ALLOWED: "false" LOG_FILE: "/var/log/vaultwarden.log" volumes: - /app-config/vw-data:/data networks: - proxy_network homepage: image: ghcr.io/gethomepage/homepage:latest container_name: homepage restart: always ports: - 10.200.200.254:8000:3000 volumes: - /app-config/homepage/:/app/config # Make sure your local config directory exists - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations, see alternative methods environment: HOMEPAGE_ALLOWED_HOSTS: 10.200.200.254:8000 # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts PUID: 1000 PGID: 1000 networks: - proxy_network wg-easy: image: ghcr.io/wg-easy/wg-easy:latest container_name: wg-easy environment: - WG_HOST=vpn.sascha-lutz.de - WG_PORT=51821 - LANG=DE - PORT=80 - PASSWORD_HASH='$2a$12$g1DgRtyQYwc/Jhizno3w6.lMgQy1.SH5yHvUnVHJGhE1PIWnA5ZEa' volumes: - /app-config/wg-easy/:/etc/wireguard - /lib/modules:/lib/modules:ro networks: - proxy_network ports: - "51821:51821/udp" - "9999:80" restart: unless-stopped cap_add: - NET_ADMIN - SYS_MODULE sysctls: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1 - net.ipv6.conf.all.disable_ipv6=0 - net.ipv6.conf.all.forwarding=1 - net.ipv6.conf.default.forwarding=1