services: server-up: build: context: . args: # Bakt de versie in het image. De deploy-workflow zet SU_VERSION # (git-tag of main-); 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: