diff --git a/systemd/install.sh b/systemd/install.sh index 6b710b1..07563b3 100644 --- a/systemd/install.sh +++ b/systemd/install.sh @@ -60,7 +60,10 @@ usermod -aG docker karl # --- 6. Pobranie i rozpakowanie archiwum --- APP_URL="${1:?Podaj URL archiwum ZIP jako pierwszy argument}" -APP_DIR="/home/karl/app" +APP_DIR="/opt/karl" + +mkdir -p "$APP_DIR" +chown karl: "$APP_DIR" # --- 7. Backup i czyszczenie istniejącego katalogu --- if [[ -d "$APP_DIR" ]] && [[ -n "$(ls -A "$APP_DIR" 2>/dev/null)" ]]; then @@ -93,7 +96,7 @@ chown -R karl:karl "$APP_DIR" log "Aplikacja rozpakowana do $APP_DIR" # --- 9. Instalacja uv i synchronizacja zależności (uv sync) --- -sudo -u karl bash -c "cd /home/karl/app && python3 -m venv .venv && source .venv/bin/activate && pip install uv && uv sync" +sudo -u karl bash -c "cd /opt/karl/app && python3 -m venv .venv && source .venv/bin/activate && pip install uv && uv sync" # --- 10. Kopiowanie pliku usługi systemd --- SERVICE_SRC="$APP_DIR/systemd/karl.service" diff --git a/systemd/karl.service b/systemd/karl.service index 9767b65..69f09cc 100644 --- a/systemd/karl.service +++ b/systemd/karl.service @@ -7,10 +7,8 @@ StartLimitIntervalSec=60 [Service] User=karl -WorkingDirectory=/home/karl/app -ExecStart=/home/karl/app/venv/bin/gunicorn \ - -c /home/karl/app/gunicorn.conf.py \ - app.main:app +WorkingDirectory=/opt/karl +ExecStart=/opt/karl/.venv/bin/python3 /opt/karl/src/karl/__init__.py # Graceful reload (sends SIGHUP) ExecReload=/bin/kill -s HUP $MAINPID @@ -23,7 +21,7 @@ RestartSec=5s NoNewPrivileges=true PrivateTmp=true ProtectSystem=strict -ReadWritePaths=/var/log/karl /tmp +ReadWritePaths=/var/log/karl /opt/karl/repository # Logging StandardOutput=journal