Files
iiEasy/deploy-on-node.sh

39 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Run this ON the Nomad node after sync-to-nomad.sh
# Builds images locally and runs Nomad job
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
NOMAD_HOST="${NOMAD_HOST:-192.168.1.16}"
STRAPI_PUBLIC_URL="${STRAPI_PUBLIC_URL:-http://${NOMAD_HOST}:1337}"
echo "=== iiEasy Build & Deploy (on node) ==="
echo "Strapi URL: $STRAPI_PUBLIC_URL"
echo ""
# 1. Build Docker images
echo "Building frontend..."
docker build --build-arg VITE_STRAPI_URL="$STRAPI_PUBLIC_URL" -t iieasy-frontend:latest .
echo "Building Strapi..."
docker build -t iieasy-strapi:latest ./iiEasy
# 2. Create host volume dirs
echo "Creating host volume dirs..."
sudo mkdir -p /opt/nomad/iieasy/postgres-data /opt/nomad/iieasy/uploads
sudo chmod -R 755 /opt/nomad/iieasy/postgres-data /opt/nomad/iieasy/uploads
# 3. Run Nomad job
echo ""
echo "Submitting Nomad job..."
export NOMAD_ADDR="${NOMAD_ADDR:-http://127.0.0.1:4646}"
nomad job run nomad/iieasy.nomad.hcl
echo ""
echo "Done. Check: nomad job status iieasy"
echo "Frontend: http://${NOMAD_HOST}:3000"
echo "Strapi: http://${NOMAD_HOST}:1337/admin"