All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 5m46s
Het linuxserver-image schrijft /config/data/system.properties alleen bij de allereerste start. De authSource en het wachtwoord die daarna in Compose veranderden kwamen er nooit in, dus UniFi bleef verbinden met de gegevens van de eerste installatie — MongoDB antwoordde met UserNotFound: unifi@unifi. - De reparatiecontainer zet db.mongo.uri, statdb.mongo.uri, db.mongo.local en unifi.db.name opnieuw uit de actuele omgeving; overige instellingen blijven. - Gebruikersnaam en wachtwoord worden url-gecodeerd in de URI gezet. - Het bestand wordt op zijn plaats overschreven, dus eigenaar en rechten blijven van UniFi zelf. - Het wachtwoord uit system.properties telt mee als inlogpoging, zodat een afgeweken .env de stack niet onherstelbaar maakt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H9Vcwu7owJZ3nj5dCf4VFT
83 lines
2.8 KiB
YAML
83 lines
2.8 KiB
YAML
services:
|
|
<< service_name >>:
|
|
image: lscr.io/linuxserver/unifi-network-application:latest
|
|
container_name: << service_name >>
|
|
environment:
|
|
- PUID=<< puid >>
|
|
- PGID=<< pgid >>
|
|
- TZ=<< timezone >>
|
|
- MONGO_USER=unifi
|
|
- MONGO_PASS=<< mongo_password >>
|
|
- MONGO_HOST=<< service_name >>-mongo
|
|
- MONGO_PORT=27017
|
|
- MONGO_DBNAME=unifi
|
|
- MONGO_AUTHSOURCE=admin
|
|
volumes:
|
|
- << appdata_dir >>/<< service_name >>/config:/config
|
|
ports:
|
|
- "<< port_ui >>:8443"
|
|
- "<< port_inform >>:8080"
|
|
- "<< port_stun >>:3478/udp"
|
|
- "<< port_discovery >>:10001/udp"
|
|
depends_on:
|
|
<< service_name >>-mongo:
|
|
condition: service_healthy
|
|
<< service_name >>-mongo-init:
|
|
condition: service_completed_successfully
|
|
restart: unless-stopped
|
|
|
|
<< service_name >>-mongo:
|
|
image: mongo:4.4.29
|
|
container_name: << service_name >>-mongo
|
|
environment:
|
|
# Dezelfde beheerdersnaam als het allereerste sjabloon gebruikte. Zo
|
|
# passen een vers volume en een volume van een oudere installatie op
|
|
# dezelfde inloggegevens — ook die van de backup (mongodump).
|
|
- MONGO_INITDB_ROOT_USERNAME=unifi
|
|
- MONGO_INITDB_ROOT_PASSWORD=<< mongo_password >>
|
|
- MONGO_USER=unifi
|
|
- MONGO_PASS=<< mongo_password >>
|
|
- MONGO_DBNAME=unifi
|
|
- MONGO_AUTHSOURCE=admin
|
|
volumes:
|
|
- << service_name >>_mongodata:/data/db
|
|
- ./init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh:ro
|
|
healthcheck:
|
|
# Bewust zonder inloggegevens: `ping` mag ook zonder aanmelden. Een
|
|
# volume dat door een oudere versie van dit sjabloon is aangemaakt kent
|
|
# de gebruiker 'root' niet, en dan bleef deze container voor altijd
|
|
# ongezond — waardoor de reparatiecontainer hieronder nooit startte.
|
|
test:
|
|
- CMD-SHELL
|
|
- 'mongo --quiet --eval "db.adminCommand({ ping: 1 })"'
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 12
|
|
start_period: 30s
|
|
restart: unless-stopped
|
|
|
|
<< service_name >>-mongo-init:
|
|
image: mongo:4.4.29
|
|
container_name: << service_name >>-mongo-init
|
|
environment:
|
|
- MONGO_INITDB_ROOT_USERNAME=unifi
|
|
- MONGO_INITDB_ROOT_PASSWORD=<< mongo_password >>
|
|
- MONGO_USER=unifi
|
|
- MONGO_PASS=<< mongo_password >>
|
|
- MONGO_HOST=<< service_name >>-mongo
|
|
- MONGO_PORT=27017
|
|
- MONGO_DBNAME=unifi
|
|
- MONGO_AUTHSOURCE=admin
|
|
volumes:
|
|
- ./init-mongo.sh:/init-mongo.sh:ro
|
|
# Dezelfde map als UniFi zelf: hierin staat system.properties, dat het
|
|
# image alleen bij de allereerste start schrijft.
|
|
- << appdata_dir >>/<< service_name >>/config:/unifi-config
|
|
entrypoint: ["/bin/bash", "/init-mongo.sh"]
|
|
depends_on:
|
|
<< service_name >>-mongo:
|
|
condition: service_healthy
|
|
restart: "no"
|
|
|
|
volumes:
|
|
<< service_name >>_mongodata:
|