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