Files
iiEasy/nomad/README.md

1.8 KiB

iiEasy Nomad Deployment

Prerequisites

  1. Nomad cluster at 192.168.1.16 (or your host)
  2. Nomad client with Docker driver and host volumes configured
  3. SSH access to the Nomad node for image transfer

Setup

1. Configure host volumes on Nomad client

Add to your Nomad client config (e.g. /etc/nomad.d/nomad.hcl):

host_volume "iieasy-postgres-data" {
  path      = "/opt/nomad/iieasy/postgres-data"
  read_only = false
}

host_volume "iieasy-strapi-uploads" {
  path      = "/opt/nomad/iieasy/uploads"
  read_only = false
}

Create directories and restart Nomad client:

sudo mkdir -p /opt/nomad/iieasy/postgres-data /opt/nomad/iieasy/uploads
sudo chmod -R 755 /opt/nomad/iieasy
# Restart Nomad client

2. Environment variables

export NOMAD_ADDR=http://192.168.1.16:4646
export NOMAD_HOST=192.168.1.16
export NOMAD_USER=its
export STRAPI_PUBLIC_URL=http://192.168.1.16:1337   # URL for browser API calls

Use SSH key authentication or enter password when scp/ssh prompts.

3. Deploy

chmod +x deploy-nomad.sh
./deploy-nomad.sh

Manual steps

If the deploy script fails or you prefer manual control:

# Build images
docker build --build-arg VITE_STRAPI_URL=http://192.168.1.16:1337 -t iieasy-frontend:latest .
docker build -t iieasy-strapi:latest ./iiEasy

# Copy to Nomad node
docker save iieasy-frontend:latest iieasy-strapi:latest -o /tmp/iieasy-images.tar
scp /tmp/iieasy-images.tar its@192.168.1.16:/tmp/

# On Nomad node
ssh its@192.168.1.16
docker load -i /tmp/iieasy-images.tar

# From your machine (with Nomad CLI)
export NOMAD_ADDR=http://192.168.1.16:4646
nomad job run nomad/iieasy.nomad.hcl

Access

Check status: nomad job status iieasy