Add systemd service setup script for production deployment
This commit is contained in:
parent
06e002931d
commit
864e5fc193
38
scripts/setup-service.sh
Executable file
38
scripts/setup-service.sh
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
SERVICE_NAME="dataflow"
|
||||
SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service"
|
||||
WORKDIR=$(pwd)
|
||||
|
||||
echo "Creating systemd service file..."
|
||||
sudo tee "$SERVICE_FILE" > /dev/null <<EOF
|
||||
[Unit]
|
||||
Description=Dataflow API Server
|
||||
After=postgresql.service
|
||||
Wants=postgresql.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=www-data
|
||||
WorkingDirectory=${WORKDIR}
|
||||
Environment=NODE_ENV=production
|
||||
ExecStart=/usr/bin/node api/server.js
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
echo "Reloading systemd daemon..."
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
echo "Enabling dataflow service..."
|
||||
sudo systemctl enable "$SERVICE_NAME"
|
||||
|
||||
echo "Starting dataflow service..."
|
||||
sudo systemctl start "$SERVICE_NAME"
|
||||
|
||||
echo "Done! Service status:"
|
||||
sudo systemctl status "$SERVICE_NAME" --no-pager
|
||||
Loading…
Reference in New Issue
Block a user