All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 1m10s
- Nieuw core/categories.py: zeventien categorieen, elk met naam (nl/en), kleur en pictogram. Kleuren zijn middentonen die in licht en donker leesbaar zijn; de interface gebruikt ze als tekstkleur op een doorzichtige variant. - Alle 96 apps ingedeeld via metadata.categories. Een app mag in meerdere categorieen zitten; 39 apps doen dat (Frigate onder domotica en media, Immich onder fotos en opslag, Kavita onder media en documenten). - Apps uit externe repos geven geen categorieen op; die worden afgeleid uit tags en omschrijving, zodat ook zij een kleur en een plek in het filter krijgen. - App store: gekleurde categoriebalk met aantallen, klikbare badges per app, werkt naast het bestaande zoekveld en de tagfilters. - Stackslijst: dezelfde balk met alleen de categorieen die je draait, gekleurde rand per kaart en klikbare badges. - Nieuw /api/categories geeft de definities met kleur, zodat interface en backend dezelfde kleur voor dezelfde categorie gebruiken. /api/stacks geeft de categorieen mee; een stack van voor deze versie valt terug op "overig" in plaats van kleurloos te blijven. - Tests: elke app heeft geldige categorieen, kleuren zijn uniek, en er staat geen categorie in het filter zonder apps. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01C7oLCRYzY5ixJ5Sv8Y8EFb
85 lines
2.2 KiB
JSON
85 lines
2.2 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"
|
|
},
|
|
"categories": [
|
|
"netwerk",
|
|
"beveiliging"
|
|
]
|
|
},
|
|
"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",
|
|
"help": "Het adres waarop je van buitenaf binnenkomt: je vaste IP, of een naam via een dynamische-DNS-dienst. Klopt dit niet, dan werken de QR-codes wel maar kunnen je apparaten geen verbinding maken."
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|