#!/usr/bin/env bash set -euo pipefail APP_DIR="/srv/worldshaper/app" GIT_DIR="/srv/worldshaper/repo.git" CONTENT_ROOT="/srv/worldshaper/shared/content" PORT="5180" APP_NAME="worldshaper" echo "[deploy] checkout" git --work-tree="$APP_DIR" --git-dir="$GIT_DIR" checkout -f cd "$APP_DIR" echo "[deploy] install" npm install echo "[deploy] validate" npm run validate:content echo "[deploy] build" npm run build echo "[deploy] restart" CONTENT_ROOT="$CONTENT_ROOT" PORT="$PORT" pm2 restart "$APP_NAME" || \ CONTENT_ROOT="$CONTENT_ROOT" PORT="$PORT" pm2 start server.js --name "$APP_NAME"