server-up/docker-compose.yml
Ramon 90e4160727
Some checks failed
Deploy server-up (dev) / deploy (push) Failing after 2m40s
v0.9.00-beta - één hoofdmap, paden kloppend en data verhuizen
- LIBRARY_DIR, DATA_DIR en BACKUP_DIR worden afgeleid van BASE_DIR in plaats
  van hard op /opt/serverup te staan
- docker-compose geeft BASE_DIR nu ook aan de container door; die stond alleen
  in de mount, dus de app bleef /opt/serverup voorstellen bij een /srv-mount
- het installatieformulier vult appdata_dir met de ingestelde DATA_DIR, zodat
  alle 286 sjablonen de juiste map voorstellen
- Instellingen → Paden heeft een hoofdmap met afgeleide submappen, een
  kopieerknop per pad en "Alles overnemen"
- nieuw GET /api/paths/check: is het pad schrijfbaar en binnen de gemounte
  BASE_DIR, met de .env-regel als dat niet zo is
- nieuw POST /api/paths/move: stacks stoppen, kopiëren, controleren, paden in
  compose/.env/metadata omschrijven, stacks starten en pas dán het oude
  opruimen
- jobs.voortgang() plus een voortgangsbalk boven het terminallog
- core/paden.py met meten, bereikbaarheid, verhuizen en omschrijven
- docs/installeren.md en .env.example beschrijven BASE_DIR als de manier om
  alles te verplaatsen

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

54 lines
2.3 KiB
YAML

services:
server-up:
build:
context: .
args:
# Bakt de versie in het image. De deploy-workflow zet SU_VERSION
# (git-tag of main-<sha>); zonder waarde valt het terug op 'dev'.
SU_VERSION: ${SU_VERSION:-dev}
# Image + tag staan los, zodat bijwerken vanuit de interface werkt: die
# schrijft SU_TAG in .env en laat compose de container hercreëren.
# Wil je bijwerken via de interface, zet SU_IMAGE dan op je registry:
# SU_IMAGE=git.example.com/bes-r/server-up
image: ${SU_IMAGE:-server-up}:${SU_TAG:-latest}
container_name: server-up
hostname: server-up
user: "0:0"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- su-data:/data
# Same-path mount: pad binnen container = pad op host
# Wijzig BASE_DIR in .env om alle paden te verplaatsen
- ${BASE_DIR:-/opt/serverup}:${BASE_DIR:-/opt/serverup}
ports:
# Standaard alleen bereikbaar vanaf de host zelf. Server Up beheert de
# Docker-daemon, dus zet dit pas open als er een reverse proxy met TLS
# voor staat.
#
# ⚠ Pas dit hier NIET aan. Dit bestand staat in Git en wordt bij elke
# deploy overschreven. Zet BIND=0.0.0.0 in .env ernaast — dat bestand
# blijft wél staan. Zie .env.example.
- "${BIND:-127.0.0.1}:${PORT:-5000}:5000"
environment:
- PORT=5000
- HOME=/root
- SU_CONFIG=/data/config.json
- SU_AUDIT=/data/audit.db
- SU_GIT_CACHE=/data/git
- SU_CONTAINER=server-up
# Dezelfde waarde als de mount hierboven, zodat de app zijn standaard
# paden (stacks, appdata, backups) onder de juiste map zoekt. Zonder dit
# mount je /srv terwijl de app /opt/serverup blijft voorstellen.
- BASE_DIR=${BASE_DIR:-/opt/serverup}
# Versie die de UI toont (overschrijft de ingebakken default).
- SU_VERSION=${SU_VERSION:-dev}
# Voeg eigen app-repos toe zonder wizard. Eenmalig opgeslagen in config.json.
# Format: JSON-array van repo-objecten. Velden: id, url, branch, subdir, name, token (optioneel).
# Voorbeeld:
# - SU_BOOT_REPOS=[{"id":"mijn-apps","name":"Mijn Apps","url":"https://github.com/gebruiker/mijn-apps.git","branch":"main","subdir":"apps"}]
# Debug-endpoints inschakelen (api/debug/*):
# - SU_DEBUG=1
restart: unless-stopped
volumes:
su-data: