1.4 KiB
features
- machine A (home computer)
- runs all services via docker-compose
- all services load-balanced by traefik
- is wireguard host
- machine B (cheap vps)
- is wireguard client
- reverse-proxies all traffic with Caddy2
machine a (host)
requirements:
- docker
- docker-compose
run:
- first
./host/_traefik
- then all services in
./host/*
there is ./host/crontab
ran as root to clean logs and run cron job for nextcloud until i make it a container thingy
machine b (proxy)
see ./proxy/init.sh
for an idea of how to setup the proxy
custom caddy build with
- layer4
- gandi dns
easiest way is to go to https://caddyserver.com/download you can download custom builds
the configuration i use is in ./proxy/Caddyfile.json
see https://github.com/libdns/gandi for how to generate creds and set GANDI_API_KEY
environment var so that the service can access it (if running with systemd systemctl edit caddy
and google how to add overrides to a system service)
i use systemd and had to edit the caddy.service file because by default it uses Caddyfile
there is no "json" adapter (don't try, wasted many time on that), instead you simply need to make sure the config file ends with .json
and it should work (yeah because caddy devs really like to think filename suffixes make the format, cant just put json in Caddyfile directly) /rant
TODO
- proper fix comfy center (wildcards without tls ???)