feat: marketplace modules and isolated container management

This commit is contained in:
ayde64
2026-10-07 23:18:02 +02:00
parent 564f7def1c
commit 7b121fa908
68 changed files with 2560 additions and 699 deletions

View File

@@ -1,12 +1,13 @@
# =============================================================
# MPM – Reverse Proxy (Nginx)
# Läuft als unprivilegierter Benutzer "app" auf Port 8080.
# Master has restricted capabilities; workers run as unprivileged user app.
# - / -> Management-Frontend (SPA, statische Dateien)
# - /api/ -> Management-Backend (127.0.0.1:3000)
# Ab Phase 4 werden hier dynamisch Modul-Routen (/slug) ergänzt.
# =============================================================
worker_processes auto;
user app;
pid /tmp/nginx.pid;
error_log /dev/stderr warn;
@@ -92,4 +93,4 @@ http {
try_files $uri $uri/ /index.html;
}
}
}
}

View File

@@ -4,7 +4,7 @@
; - platform-backend : NestJS Management-API (127.0.0.1:3000)
; - nginx : Reverse Proxy (0.0.0.0:8080)
; Ab Phase 3 werden hier die Modul-Prozesse registriert.
; Läuft als unprivilegierter Benutzer "app".
; Supervisor has only SETUID/SETGID/KILL; backend and Nginx workers run as app.
; =============================================================
[supervisord]
@@ -13,9 +13,10 @@ logfile=/dev/null
logfile_maxbytes=0
pidfile=/tmp/supervisord.pid
childlogdir=/tmp
user=root
[program:platform-backend]
command=node dist/main.js
command=/usr/bin/setpriv --reuid=app --regid=app --groups=%(ENV_DOCKER_SOCKET_GID)s --inh-caps=+setuid,+setgid,+kill --ambient-caps=+setuid,+setgid,+kill -- node dist/main.js
directory=/app/platform-backend
autorestart=true
startretries=10
@@ -36,4 +37,4 @@ stopsignal=QUIT
stopwaitsecs=10
redirect_stderr=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stdout_logfile_maxbytes=0