server-up/apps/unifi-network/template.json
Ramon 414324d6e1
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 3m22s
fix(unifi): MongoDB-versie die op een Raspberry Pi 4 draait
Het sjabloon pinde 4.4.29, maar vanaf 4.4.19 eist MongoDB ARMv8.2-A. Op een
Pi 4 (ARMv8.0-A) stopt mongod met 'Illegal instruction', wordt de container
nooit healthy en start UniFi niet.

- Standaard mongo:4.4.18, instelbaar via een geavanceerd veld.
- De reparatiecontainer draait dezelfde versie.
- Healthcheck ruimer: timeout 20s, start_period 90s, tien pogingen.

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

143 lines
4.2 KiB
JSON

{
"kind": "compose",
"metadata": {
"name": "Unifi Network Application",
"description": "Unifi netwerkconfiguratie en -beheer. Beheert access points, switches en gateways van Ubiquiti.",
"tags": [
"netwerk",
"unifi",
"ubiquiti",
"wifi"
],
"icon": {
"provider": "selfhst",
"id": "unifi"
},
"version": {
"name": "latest"
},
"categories": [
"netwerk",
"beheer"
],
"architectures": [
"amd64",
"arm64"
],
"architecture_note": "Op een Raspberry Pi is een 64-bits besturingssysteem vereist. Let op de MongoDB-versie: vanaf 4.4.19 (en vanaf 5.0) eist MongoDB ARMv8.2-A, en dat heeft een Pi 4 niet. Op die hardware crasht mongod met 'Illegal instruction'. De standaard 4.4.18 werkt op alle ondersteunde architecturen.",
"web": {
"scheme": "https",
"port": 8443
}
},
"variables": [
{
"title": "Algemeen",
"items": [
{
"name": "service_name",
"type": "str",
"title": "Servicenaam",
"default": "unifi",
"required": true
},
{
"name": "port_ui",
"type": "int",
"title": "Web UI poort (HTTPS)",
"default": 8443,
"required": true,
"description": "Poort voor de Unifi-webinterface"
},
{
"name": "port_inform",
"type": "int",
"title": "Inform poort",
"default": 8080,
"required": true,
"description": "Poort waarop Unifi-apparaten inchecken. Moet bereikbaar zijn voor alle access points en switches."
},
{
"name": "port_stun",
"type": "int",
"title": "STUN poort (UDP)",
"default": 3478,
"required": true,
"description": "Gebruikt voor NAT traversal. Vereist voor correct functioneren van Unifi-apparaten."
},
{
"name": "port_discovery",
"type": "int",
"title": "Discovery poort (UDP)",
"default": 10001,
"required": true,
"description": "Gebruikt om Unifi-apparaten op het lokale netwerk automatisch te ontdekken."
},
{
"name": "appdata_dir",
"type": "str",
"title": "Appdata-map",
"default": "/opt/serverup/appdata",
"required": true,
"description": "Basismap voor configuratie en database"
},
{
"name": "timezone",
"type": "str",
"title": "Tijdzone",
"default": "Europe/Amsterdam",
"required": true
}
]
},
{
"title": "Gebruiker",
"items": [
{
"name": "puid",
"type": "int",
"title": "PUID",
"default": 1000,
"required": true,
"description": "User ID van de systeemgebruiker die de container beheert (whoami → id -u)"
},
{
"name": "pgid",
"type": "int",
"title": "PGID",
"default": 1000,
"required": true,
"description": "Group ID van de systeemgebruiker (id -g)"
}
]
},
{
"title": "Database",
"items": [
{
"name": "mongo_version",
"type": "str",
"title": "MongoDB-versie",
"default": "4.4.18",
"required": true,
"description": "4.4.18 is de laatste versie die op een Raspberry Pi 4 draait; nieuwer eist ARMv8.2-A. Op een Pi 5 of een gewone server kun je hoger, maar kies dat alleen bij een nieuwe installatie: een bestaande database gaat niet zomaar van 4.4 naar 7.0.",
"advanced": true
},
{
"name": "mongo_password",
"type": "str",
"title": "MongoDB wachtwoord",
"default": "",
"required": true,
"description": "Wachtwoord voor de interne MongoDB database",
"config": {
"placeholder": "sterk-wachtwoord"
},
"secret": true,
"generate": "auto",
"help": "Wordt automatisch ingevuld met een willekeurige waarde. Alleen de containers onderling gebruiken hem, dus je hoeft hem niet te onthouden."
}
]
}
]
}