All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 1m5s
Bij het toevoegen van de apps kwam een bestaande fout boven water. _drop_empty_mappings ruimt sleutels op die een <% if %>-blok leeg achterlaat, maar een named volume wordt gedeclareerd als een kale sleutel zonder waarde (` immich_pgdata:`). Die werd opgeruimd, waarna ook het bovenliggende `volumes:` wegviel en de services verwezen naar een volume dat nergens meer gedeclareerd stond. Immich, Ghost, Miniflux, Paperless-ngx, Unifi Network en Vikunja waren daardoor niet installeerbaar: docker compose weigert met "refers to undefined volume". Alleen bekende compose-sleutels worden nu opgeruimd. 29 nieuwe apps (teller op 65): - Domotica: zigbee2mqtt, mosquitto, esphome, node-red, zwave-js-ui, homebridge, scrypted, frigate - 3D-printen: bambuddy, octoprint, spoolman - Gezin/huishouden: baby-buddy, grocy, tandoor, firefly-iii - Media: audiobookshelf, navidrome, kavita, calibre-web, jellyseerr - Kennis: bookstack, freshrss, wallabag - Netwerk/beheer: wg-easy, homepage, searxng, duplicati, watchtower, technitium-dns Nieuwe tests/test_apps.py rendert elke app met de echte engine en controleert geldige YAML, image of build per service, gedeclareerde named volumes, geen onvervangen variabelen en geen onbedoeld dubbele standaardpoorten. Die laatste vond zeven botsingen tussen nieuwe en bestaande apps; rechtgezet. Logische botsingen (reverse proxies op 80/443, dns-blokkers op 53) staan met uitleg in een allowlist. Het image van Bambuddy is nagetrokken op de bron (github.com/maziggy/bambuddy): ghcr.io/maziggy/bambuddy, poort 8000. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C7oLCRYzY5ixJ5Sv8Y8EFb
80 lines
1.9 KiB
JSON
80 lines
1.9 KiB
JSON
{
|
|
"kind": "compose",
|
|
"metadata": {
|
|
"name": "WireGuard Easy",
|
|
"description": "VPN naar je eigen netwerk, met een webinterface om apparaten toe te voegen via een QR-code.",
|
|
"tags": [
|
|
"vpn",
|
|
"netwerk",
|
|
"beveiliging"
|
|
],
|
|
"icon": {
|
|
"provider": "selfhst",
|
|
"id": "wg-easy"
|
|
},
|
|
"version": {
|
|
"name": "latest"
|
|
}
|
|
},
|
|
"variables": [
|
|
{
|
|
"title": "Algemeen",
|
|
"items": [
|
|
{
|
|
"name": "service_name",
|
|
"type": "str",
|
|
"title": "Servicenaam",
|
|
"default": "wg-easy",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "port",
|
|
"type": "int",
|
|
"title": "Web poort",
|
|
"default": 51821,
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "data_dir",
|
|
"type": "str",
|
|
"title": "Data directory",
|
|
"default": "/opt/serverup/appdata",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "timezone",
|
|
"type": "str",
|
|
"title": "Tijdzone",
|
|
"default": "Europe/Amsterdam",
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "vpn_port",
|
|
"type": "int",
|
|
"title": "VPN poort (UDP)",
|
|
"default": 51820,
|
|
"required": true
|
|
},
|
|
{
|
|
"name": "host",
|
|
"type": "str",
|
|
"title": "Publiek adres",
|
|
"default": "vpn.example.com",
|
|
"required": true,
|
|
"description": "Het adres of IP waarop je van buitenaf binnenkomt"
|
|
},
|
|
{
|
|
"name": "password_hash",
|
|
"type": "str",
|
|
"title": "Wachtwoordhash beheerder",
|
|
"default": "",
|
|
"required": true,
|
|
"description": "Bcrypt-hash van je wachtwoord; zie de documentatie van wg-easy",
|
|
"config": {
|
|
"placeholder": "sterk-wachtwoord"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|