sojorn/admin/fix_service.sh
2026-02-15 00:33:24 -06:00

46 lines
1.1 KiB
Bash

#!/bin/bash
# Fix and restart the sojorn-admin service
# Run as: sudo bash /opt/sojorn/admin/fix_service.sh
# 1. Remove old service completely
systemctl stop sojorn-admin 2>/dev/null
systemctl disable sojorn-admin 2>/dev/null
# 2. Kill ANY process on port 3001
fuser -k 3001/tcp 2>/dev/null
sleep 2
# Double check
fuser -k 3001/tcp 2>/dev/null
sleep 1
# 3. Write fresh service file with Restart=on-failure
cat > /etc/systemd/system/sojorn-admin.service <<'SVCEOF'
[Unit]
Description=Sojorn Admin Panel
After=network.target sojorn-api.service
[Service]
Type=simple
User=patrick
Group=patrick
WorkingDirectory=/opt/sojorn/admin
ExecStart=/usr/bin/node /opt/sojorn/admin/node_modules/next/dist/bin/next start --port 3001
Restart=on-failure
RestartSec=15
StartLimitIntervalSec=60
StartLimitBurst=3
Environment=NODE_ENV=production
Environment=NEXT_PUBLIC_API_URL=https://api.sojorn.net
[Install]
WantedBy=multi-user.target
SVCEOF
# 4. Reload and start
systemctl daemon-reload
systemctl enable sojorn-admin
systemctl start sojorn-admin
sleep 4
systemctl status sojorn-admin --no-pager