46 lines
1.1 KiB
Bash
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
|