server-up/apps/wireguard/template.json
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

138 lines
4 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"kind": "compose",
"metadata": {
"name": "WireGuard",
"description": "Verbind deze machine met een ander netwerk via WireGuard, of draai er zelf een VPN-server mee. Zet je eigen wg0.conf in de configuratiemap voor de clientrol; vul de servervelden in om profielen te laten aanmaken.",
"tags": [
"vpn",
"wireguard",
"tunnel",
"netwerk",
"op afstand"
],
"icon": {
"provider": "selfhst",
"id": "wireguard"
},
"version": {
"name": "latest"
},
"categories": [
"netwerk",
"beveiliging"
],
"architectures": [
"amd64",
"arm64"
],
"architecture_note": "De kernelmodule komt van de host. Op een Raspberry Pi met een recente 64-bits kernel zit WireGuard er standaard in; op oudere kernels moet je hem zelf installeren."
},
"variables": [
{
"title": "Algemeen",
"items": [
{
"name": "service_name",
"type": "str",
"title": "Servicenaam",
"default": "wireguard",
"required": true
},
{
"name": "port",
"type": "int",
"title": "WireGuard-poort (UDP)",
"default": 51820,
"required": true,
"description": "Alleen nodig als deze machine de server is. Als client verbind je naar buiten en hoeft er niets open."
},
{
"name": "appdata_dir",
"type": "str",
"title": "Appdata-map",
"default": "/opt/serverup/appdata",
"required": true,
"description": "Hierin komt de map wg_confs; zet daar je eigen wg0.conf neer om met een bestaand netwerk te verbinden."
},
{
"name": "timezone",
"type": "str",
"title": "Tijdzone",
"default": "Europe/Amsterdam",
"required": true
}
]
},
{
"title": "Gebruiker",
"items": [
{
"name": "puid",
"type": "int",
"title": "PUID",
"default": 1000,
"required": true,
"advanced": true
},
{
"name": "pgid",
"type": "int",
"title": "PGID",
"default": 1000,
"required": true,
"advanced": true
}
]
},
{
"title": "Als server",
"items": [
{
"name": "server_url",
"type": "str",
"title": "Publiek adres",
"default": "auto",
"required": true,
"description": "Het adres waarop clients deze server bereiken. 'auto' laat de container zijn eigen publieke IP opzoeken.",
"advanced": true
},
{
"name": "peers",
"type": "str",
"title": "Clientprofielen",
"default": "1",
"required": true,
"description": "Een aantal (bijvoorbeeld 3) of namen gescheiden door kommas (laptop,telefoon). De profielen en QR-codes komen in de appdata-map.",
"advanced": true
},
{
"name": "peer_dns",
"type": "str",
"title": "DNS voor clients",
"default": "auto",
"required": true,
"description": "Wijs dit naar je eigen DNS-server als je thuisnamen wilt kunnen opzoeken door de tunnel.",
"advanced": true
},
{
"name": "internal_subnet",
"type": "str",
"title": "Subnet van de tunnel",
"default": "10.13.13.0",
"required": true,
"description": "Mag niet botsen met een netwerk dat je al gebruikt.",
"advanced": true
},
{
"name": "allowed_ips",
"type": "str",
"title": "Netwerken door de tunnel",
"default": "0.0.0.0/0",
"required": true,
"description": "Wat clients via deze server bereiken. Alleen je thuisnetwerk? Zet er dan bijvoorbeeld 10.0.20.0/24 neer in plaats van al het verkeer.",
"advanced": true
}
]
}
]
}