dataflow/scripts/setup-service.sh

39 lines
789 B
Bash
Executable File

#!/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