server-up/apps/wireguard/files/compose.yaml
Ramon ec49337167
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 3m18s
feat(apps): WireGuard, Tailscale, Cloudflare Tunnel en Proton Mail Bridge
De catalogus had niets om een machine elders bij je eigen netwerk te laten
komen, en niets om Proton Mail bruikbaar te maken voor apps die geen Proton
spreken.

- wireguard: client (eigen wg0.conf in wg_confs) of server, met NET_ADMIN,
  SYS_MODULE, de kernelmodules van de host en src_valid_mark.
- tailscale: network_mode host zodat de tunnel voor de hele machine geldt,
  met bewaarde staat en optionele subnetroutes.
- cloudflared: publiceert zelf geen poorten en werkt zichzelf niet bij.
- protonmail-bridge: SMTP op 1026 zodat hij naast Mailpit past; het sjabloon
  legt de eenmalige aanmelding via de CLI uit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H9Vcwu7owJZ3nj5dCf4VFT
2026-08-07 15:29:47 +02:00

29 lines
1,005 B
YAML

# Twee rollen in één image. Zet je eigen `wg0.conf` in de map wg_confs, dan
# verbindt deze container met dát netwerk (client). Laat je die map leeg en vul
# je de servervelden in, dan maakt hij zelf een server met clientprofielen aan.
services:
<< service_name >>:
image: lscr.io/linuxserver/wireguard:latest
container_name: << service_name >>
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
# Alleen voor de serverrol; bij een eigen wg0.conf doen ze niets.
- SERVERURL=<< server_url >>
- SERVERPORT=<< port >>
- PEERS=<< peers >>
- PEERDNS=<< peer_dns >>
- INTERNAL_SUBNET=<< internal_subnet >>
- ALLOWEDIPS=<< allowed_ips >>
volumes:
- << appdata_dir >>/<< service_name >>:/config
- /lib/modules:/lib/modules:ro
ports:
- "<< port >>:51820/udp"
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped