Publish LumaOps source
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# LumaOps op Unraid
|
||||
|
||||
## Voorbereiding
|
||||
|
||||
LumaOps bouwt één image met OpenRGB Core, de FastAPI-backend en de statische React-app. De veilige standaard is bridge networking, een read-only rootfilesystem en alleen expliciete hardwaredevices. Alle Linux-capabilities worden verwijderd, behalve CHOWN, SETUID en SETGID die de root-entrypoint kort nodig heeft om volumes en PUID/PGID in te stellen; na de overstap draait de applicatie als Unraid nobody/users via PUID=99 en PGID=100.
|
||||
|
||||
Maak appdata aan:
|
||||
|
||||
mkdir -p /mnt/user/appdata/lumaops/{openrgb,config,data,logs}
|
||||
|
||||
Kloon de repository, kopieer .env.example naar .env en bouw:
|
||||
|
||||
git clone REPOSITORY-URL
|
||||
cd LumaOps
|
||||
cp .env.example .env
|
||||
# Genereer een unieke token met: openssl rand -base64 32
|
||||
# en vervang LUMAOPS_ADMIN_TOKEN in .env.
|
||||
docker compose build
|
||||
docker compose up -d
|
||||
docker compose ps
|
||||
|
||||
Pas in docker-compose.yml de hostpaden aan naar /mnt/user/appdata/lumaops wanneer Compose vanuit een andere map draait. Voor de Unraid GUI kan docker/unraid-lumaops.xml als templatebasis worden gebruikt. Bij een lokale build blijft Repository lumaops:0.1.0.
|
||||
|
||||
## Netwerkmodi
|
||||
|
||||
Bridge is standaard en publiceert alleen de webinterface: extern `WEB_PORT=1223` naar intern `APP_PORT=8080`. Open dus `http://UNRAID-IP:1223`. Poort 6742 ontbreekt doelbewust bij `ports`.
|
||||
|
||||
Voor OpenRGB-netwerkcontrollers die UDP broadcast, multicast of mDNS nodig hebben:
|
||||
|
||||
docker compose -f docker-compose.yml -f docker/compose.host-network.yml up -d
|
||||
|
||||
De override verwijdert de webpoortmapping omdat host networking die niet gebruikt. LumaOps luistert dan rechtstreeks op `WEB_PORT` (standaard 1223). `OPENRGB_HOST` blijft 127.0.0.1, ook in host mode.
|
||||
|
||||
## Bijwerken
|
||||
|
||||
git fetch origin
|
||||
git pull --ff-only origin main
|
||||
docker compose build --pull
|
||||
docker compose up -d --remove-orphans
|
||||
docker image prune
|
||||
|
||||
Maak vooraf een appdata-back-up. Databaseback-ups in de UI vervangen geen kopie van de volledige appdata. Een rollback gebruikt een vorige Git-commit/tag en daarna dezelfde build/up-opdrachten.
|
||||
|
||||
## Productiecontrole
|
||||
|
||||
docker compose ps
|
||||
docker inspect --format "{{json .State.Health}}" lumaops
|
||||
docker exec lumaops /opt/venv/bin/python /opt/lumaops/healthcheck.py
|
||||
docker exec lumaops sh -c "ss -ltn 2>/dev/null || true"
|
||||
|
||||
Verwacht: web bereikbaar op hostpoort 1223, SDK alleen op 127.0.0.1:6742 en health healthy. Een ontbrekend hardwaredevice mag de webapp niet neerhalen; readiness wordt degraded/unhealthy met hersteladvies.
|
||||
|
||||
## Authenticatie
|
||||
|
||||
Login staat standaard aan en vereist een unieke `LUMAOPS_ADMIN_TOKEN` van minstens
|
||||
32 tekens. Voor rechtstreekse HTTP-toegang op een vertrouwd LAN blijft
|
||||
`SECURE_COOKIES=false`; zet dit op `true` achter HTTPS. Zet bij internettoegang ook
|
||||
`EXTERNAL_ACCESS=true` en voeg alleen bekende proxyadressen toe aan
|
||||
`TRUSTED_PROXIES`. Publiceer LumaOps nooit rechtstreeks zonder TLS.
|
||||
Reference in New Issue
Block a user