Prototype
This commit is contained in:
39
install.sh
39
install.sh
@@ -402,6 +402,15 @@ else
|
||||
ok "Benutzer '$SERVICE_USER' angelegt"
|
||||
fi
|
||||
|
||||
SERVICE_HOME="$(getent passwd "$SERVICE_USER" | cut -d: -f6)"
|
||||
if [[ -z "$SERVICE_HOME" || "$SERVICE_HOME" == "/" || "$SERVICE_HOME" == "/nonexistent" ]]; then
|
||||
SERVICE_HOME="/home/$SERVICE_USER"
|
||||
fi
|
||||
mkdir -p "$SERVICE_HOME"
|
||||
chown "$SERVICE_USER:$SERVICE_USER" "$SERVICE_HOME" 2>/dev/null || true
|
||||
chmod 755 "$SERVICE_HOME" 2>/dev/null || true
|
||||
info "Service-Home für '$SERVICE_USER': $SERVICE_HOME"
|
||||
|
||||
for grp in cdrom optical disk video render; do
|
||||
if getent group "$grp" &>/dev/null; then
|
||||
usermod -aG "$grp" "$SERVICE_USER" 2>/dev/null || true
|
||||
@@ -530,25 +539,22 @@ if [[ -n "$ACTUAL_USER" && "$ACTUAL_USER" != "root" ]]; then
|
||||
"$INSTALL_DIR/backend/data/output" \
|
||||
"$INSTALL_DIR/backend/data/logs"
|
||||
ok "Verzeichnisse $ACTUAL_USER:$SERVICE_USER (775) zugewiesen"
|
||||
|
||||
# MakeMKV erwartet pro Benutzer ein eigenes Konfigurationsverzeichnis.
|
||||
ACTUAL_HOME="$(getent passwd "$ACTUAL_USER" | cut -d: -f6)"
|
||||
if [[ -z "$ACTUAL_HOME" ]]; then
|
||||
ACTUAL_HOME="/home/$ACTUAL_USER"
|
||||
fi
|
||||
MAKEMKV_USER_DIR="${ACTUAL_HOME}/.MakeMKV"
|
||||
if [[ ! -d "$MAKEMKV_USER_DIR" ]]; then
|
||||
mkdir -p "$MAKEMKV_USER_DIR"
|
||||
ok "MakeMKV-Verzeichnis erstellt: $MAKEMKV_USER_DIR"
|
||||
else
|
||||
info "MakeMKV-Verzeichnis vorhanden: $MAKEMKV_USER_DIR"
|
||||
fi
|
||||
chown "$ACTUAL_USER:$ACTUAL_USER" "$MAKEMKV_USER_DIR" 2>/dev/null || true
|
||||
chmod 700 "$MAKEMKV_USER_DIR" 2>/dev/null || true
|
||||
else
|
||||
ok "Verzeichnisse bereits $SERVICE_USER gehörig (kein SUDO_USER erkannt)"
|
||||
fi
|
||||
|
||||
# MakeMKV erwartet pro Benutzer ein eigenes Konfigurationsverzeichnis.
|
||||
# Laufzeit-relevant ist das Verzeichnis des Service-Users.
|
||||
MAKEMKV_SERVICE_DIR="${SERVICE_HOME}/.MakeMKV"
|
||||
if [[ ! -d "$MAKEMKV_SERVICE_DIR" ]]; then
|
||||
mkdir -p "$MAKEMKV_SERVICE_DIR"
|
||||
ok "MakeMKV-Verzeichnis erstellt: $MAKEMKV_SERVICE_DIR"
|
||||
else
|
||||
info "MakeMKV-Verzeichnis vorhanden: $MAKEMKV_SERVICE_DIR"
|
||||
fi
|
||||
chown "$SERVICE_USER:$SERVICE_USER" "$MAKEMKV_SERVICE_DIR" 2>/dev/null || true
|
||||
chmod 700 "$MAKEMKV_SERVICE_DIR" 2>/dev/null || true
|
||||
|
||||
# --- Systemd-Dienst: Backend -------------------------------------------------
|
||||
header "Systemd-Dienst (Backend) erstellen"
|
||||
|
||||
@@ -570,6 +576,7 @@ StartLimitIntervalSec=60
|
||||
StartLimitBurst=3
|
||||
|
||||
Environment=NODE_ENV=production
|
||||
Environment=HOME=${SERVICE_HOME}
|
||||
Environment=LANG=C.UTF-8
|
||||
Environment=LC_ALL=C.UTF-8
|
||||
Environment=LANGUAGE=C.UTF-8
|
||||
@@ -589,7 +596,7 @@ SupplementaryGroups=video render cdrom disk
|
||||
NoNewPrivileges=false
|
||||
ProtectSystem=full
|
||||
ProtectHome=read-only
|
||||
ReadWritePaths=${INSTALL_DIR}/backend/data ${INSTALL_DIR}/backend/logs /tmp
|
||||
ReadWritePaths=${INSTALL_DIR}/backend/data ${INSTALL_DIR}/backend/logs /tmp ${SERVICE_HOME} ${MAKEMKV_SERVICE_DIR}
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
|
||||
Reference in New Issue
Block a user