39 lines
789 B
Bash
Executable File
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
|