1.8 KiB
1.8 KiB
iiEasy Nomad Deployment
Prerequisites
- Nomad cluster at 192.168.1.16 (or your host)
- Nomad client with Docker driver and host volumes configured
- 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
- Frontend: http://192.168.1.16:3000
- Strapi Admin: http://192.168.1.16:1337/admin
- PostgreSQL: 192.168.1.16:5432 (internal use)
Check status: nomad job status iieasy