server-up/.env.example
Ramon fc2e80fbda
Some checks failed
Deploy server-up (dev) / deploy (push) Failing after 2m8s
v0.10.00-beta - Server Up draait niet meer als root
- bij de installatie wordt gevraagd onder welk account Server Up draait: een
  nieuw systeemaccount 'serverup', het account waarmee je werkt, een bestaand
  account, of root zoals voorheen (--user NAAM slaat de vraag over)
- nieuw docker-entrypoint.sh: start als root, zet /data, stacks en backups
  klaar, en zakt met setpriv af naar SU_UID:SU_GID met de capabilities die
  nodig blijven (chown, dac_override, fowner - alle drie al in Docker's
  standaardset)
- appdata blijft daarbij bewust ongemoeid; die mappen zijn van de apps zelf
- de gid van de docker-socket wordt uit de socket zelf gelezen, zodat het
  account niet in de docker-groep hoeft (dat zou root op de host geven)
- installatieformulier vult PUID/PGID met de ids waaronder Server Up draait in
  plaats van de 1000 die 44 sjablonen blind noemen
- een onleesbaar bestand laat de rest van de backup niet meer sneuvelen; wat
  ontbreekt komt in het log en in de metadata (skipped)
- terugzetten herstelt het eigenaarschap van appdata, dat tarfile met
  filter="data" laat vallen
- CI controleert in een echte container dat setpriv bestaat, dat er wordt
  afgezakt, dat de socket-gid meekomt, dat /data schrijfbaar is en dat SU_UID=0
  root laat blijven
- SU_UID=0 in .env is de ontsnappingsklep naar het oude gedrag

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q9eqpADJSRs49SoGGr4NAy
2026-08-02 22:02:36 +02:00

64 lines
3 KiB
Text

# Instellingen van deze Server Up-installatie.
#
# Kopieer naar `.env` in dezelfde map als docker-compose.yml. Het bestand staat
# in .gitignore en wordt door de deploy-workflow met rust gelaten, dus wat je
# hier zet blijft staan bij een update.
#
# cp .env.example .env
# ── Bereikbaarheid ───────────────────────────────────────────────────────────
# Op welk adres de poort wordt gepubliceerd.
# 127.0.0.1 alleen vanaf de server zelf (standaard, veiligst)
# 0.0.0.0 vanaf het hele netwerk — doe dit alleen achter een reverse proxy
# met TLS, want Server Up beheert Docker als root
BIND=127.0.0.1
# Poort op de host.
PORT=5000
# ── Versie en bijwerken ──────────────────────────────────────────────────────
# Welke image-tag draait. De deploy-workflow schrijft deze waarde zelf; met de
# hand aanpassen kan om terug te rollen naar een eerdere versie.
#SU_TAG=0.5.40-beta
# Registry-image, zónder tag. Staat dit ingevuld, dan draait deze server vanaf
# een registry en werkt de knop "Nu bijwerken" in de interface. Laat het leeg
# als de server zelf bouwt na een push naar Git — dan is Git de update-route.
# Zie docs/updates.md.
#SU_IMAGE=git.example.com/bes-r/server-up
# ── Overig ───────────────────────────────────────────────────────────────────
# De hoofdmap voor stacks, appdata en backups. Dit pad wordt in de container op
# hetzelfde pad gemount, zodat compose-bestanden kloppen, én meegegeven aan de
# app, zodat de standaarden eronder vallen:
# <BASE_DIR>/stacks <BASE_DIR>/appdata <BASE_DIR>/backups
#
# Wijzig je dit ná de installatie, dan moet je ook de bestaande data verplaatsen.
# Doe dat via Instellingen → Paden; die knop kopieert eerst, controleert, en
# ruimt het oude pas daarna op. Alleen deze regel aanpassen laat je data staan
# waar hij stond.
#BASE_DIR=/opt/serverup
# Onder welk account Server Up draait. install.sh vult dit in; 0 (of leeg) is
# root, zoals vóór v0.10. De container start altijd als root — dat moet, want
# het docker-volume is van root — en zakt daarna af naar deze uid/gid.
#
# Loop je ergens tegenaan, zet ze dan allebei op 0 en draai `docker compose up -d`.
# Zie docs/beveiliging.md voor wat dit wel en niet oplevert.
#SU_UID=0
#SU_GID=0
# Zet op 1 zodra alles via HTTPS loopt: de sessiecookie krijgt dan de
# Secure-vlag.
#SU_HTTPS=1
# Extra app-repositories zonder de wizard, als JSON-array. Eenmalig ingelezen
# en daarna opgeslagen in config.json.
#SU_BOOT_REPOS=[{"id":"mijn-apps","name":"Mijn Apps","url":"https://…","branch":"main","subdir":"apps"}]
# Debug-endpoints (/api/debug/*) inschakelen. Alleen tijdelijk gebruiken:
# /api/debug/config toont de volledige configuratie.
#SU_DEBUG=1