version: "3.9" networks: proxy: external: true services: baikal: image: ckulka/baikal:nginx container_name: baikal volumes: - $DOCKDIR/baikal:/var/www/baikal/Specific restart: unless-stopped depends_on: - caddy networks: - proxy labels: caddy: dav.$DOMAIN caddy.reverse_proxy: "{{upstreams 80}}" caddy: image: lucaslorentz/caddy-docker-proxy container_name: caddy ports: - 80:80 - 443:443 environment: - CADDY_INGRESS_NETWORKS=proxy networks: - proxy volumes: - /var/run/docker.sock:/var/run/docker.sock - $DOCKDIR/caddy:/data restart: unless-stopped cgit: image: chruth/alpine-cgit container_name: cgit environment: - PUID=$PUID - PGID=$PGID - TZ=$TZ volumes: - $SYNCDIR/src:/git - $SYNCDIR/src/dockerfiles/configs/cgitrc:/config/cgitrc - $SYNCDIR/src/dockerfiles/configs/cgit.css:/app/cgit.css restart: unless-stopped depends_on: - caddy networks: - proxy labels: caddy: git.$DOMAIN caddy.reverse_proxy: "{{upstreams 80}}" changedetection: image: linuxserver/changedetection.io container_name: changedetection environment: - PGID=$PGID - PUID=$PUID volumes: - $DOCKDIR/changedetection:/config depends_on: - caddy networks: - proxy labels: caddy: diff.$DOMAIN caddy.reverse_proxy: "{{upstreams 5000}}" restart: unless-stopped echoip: image: mpolden/echoip container_name: echoip entrypoint: "/opt/echoip/echoip -H X-Forwarded-For" restart: unless-stopped depends_on: - caddy networks: - proxy labels: caddy: ip.$DOMAIN caddy.reverse_proxy: "{{upstreams 8080}}" h5ai: image: awesometic/h5ai container_name: h5ai environment: - PUID=$PUID - PGID=$PGID - TZ=$TZ volumes: - $SYNCDIR/pub:/h5ai - $SYNCDIR/src/dockerfiles/configs/h5ai.css:/config/h5ai/_h5ai/public/css/styles.css restart: unless-stopped depends_on: - caddy networks: - proxy labels: caddy: pub.$DOMAIN caddy.reverse_proxy: "{{upstreams 80}}" hugo: image: klakegg/hugo container_name: hugo command: "server --watch=true --minify --source=/src --baseURL=https://$DOMAIN --bind=0.0.0.0 --appendPort=false --buildFuture" volumes: - $SYNCDIR/src/blog.$DOMAIN:/src restart: unless-stopped depends_on: - caddy networks: - proxy labels: caddy: $DOMAIN, blog.$DOMAIN, www.$DOMAIN caddy.reverse_proxy: "{{upstreams 1313}}" jackett: image: linuxserver/jackett container_name: jackett environment: - PGID=$PGID - PUID=$PUID - TZ=$TZ volumes: - $DOCKDIR/jackett:/config - $SYNCDIR:/downloads restart: unless-stopped depends_on: - caddy networks: - proxy labels: caddy: jack.$DOMAIN caddy.reverse_proxy: "{{upstreams 9117}}" postgres: image: postgres:alpine container_name: postgres restart: unless-stopped ports: - 44432:5432 environment: - POSTGRES_PASSWORD=$DBPASSWORD volumes: - $DOCKDIR/postgres:/var/lib/postgresql/data transmission: image: haugene/transmission-openvpn container_name: transmission networks: - proxy devices: - /dev/net/tun cap_add: - NET_ADMIN volumes: - /mnt/tank/complete:/data/completed - /mnt/tank/incomplete:/data/incomplete - $DOCKDIR/transmission:/data/transmission-home - $SYNCDIR:/data/watch environment: - OPENVPN_PROVIDER=NORDVPN - NORDVPN_COUNTRY=GB - NORDVPN_CATEGORY=p2p - OPENVPN_USERNAME=$VPNUSER - OPENVPN_PASSWORD=$VPNPASS - LOCAL_NETWORK=10.0.0.0/24 ports: - 9091:9091 - 51413:51413 dns: - 8.8.8.8 - 9.9.9.9 logging: driver: json-file options: max-size: 10m restart: unless-stopped transmission-proxy: image: haugene/transmission-openvpn-proxy container_name: transmission-proxy depends_on: - transmission links: - transmission networks: - proxy labels: caddy: tor.$DOMAIN caddy.reverse_proxy: "{{upstreams 8080}}" caddy.basicauth: "/" caddy.basicauth.peter: "$HTPASSWD" restart: unless-stopped transmission-rss: image: haugene/transmission-rss container_name: transmission-rss depends_on: - transmission networks: - proxy links: - transmission environment: - GID=$PGID - UID=$PUID volumes: - $DOCKDIR/transmission-rss/transmission-rss.conf:/etc/transmission-rss.conf - $DOCKDIR/transmission-rss/transmission-rss.seen:/etc/transmission-rss.seen ttrss: image: wangqiru/ttrss container_name: ttrss restart: unless-stopped environment: - SELF_URL_PATH=https://rss.$DOMAIN/ - DB_HOST=$DOMAIN - DB_PASS=$DBPASSWORD - DB_PORT=44432 - DB_TYPE=pgsql - DB_USER=postgres depends_on: - postgres - caddy networks: - proxy labels: caddy: rss.$DOMAIN caddy.reverse_proxy: "{{upstreams 80}}" vaultwarden: image: vaultwarden/server:alpine container_name: vaultwarden volumes: - $DOCKDIR/vaultwarden:/data environment: - WEBSOCKET_ENABLED=false - SIGNUPS_ALLOWED=false restart: unless-stopped depends_on: - caddy networks: - proxy labels: caddy: pass.$DOMAIN caddy.reverse_proxy: "{{upstreams 80}}"