#!/bin/bash set -e HOST="root@192.168.11.200" PASSWORD="etrnlee1" SSH="sshpass -p '$PASSWORD' ssh -o StrictHostKeyChecking=no" SCP="sshpass -p '$PASSWORD' scp -o StrictHostKeyChecking=no" APP_DIR="/root/kinship-directory" echo "=== Kinship Directory Deployment to Unraid ===" echo "Uploading files to Unraid server..." # Upload the entire directory $SCP -r /Users/markelmasri/Projects/directory/* $HOST:$APP_DIR/ echo "Building Docker image..." $SSH $HOST "cd $APP_DIR && docker build -t kinship-directory:latest ." echo "Generating AUTH_SECRET..." AUTH_SECRET=$($SSH $HOST "openssl rand -hex 32") echo "Creating docker-compose.yml with generated secret..." $SSH $HOST "cd $APP_DIR && cat > docker-compose.yml << 'COMPOSE_EOF' version: "3.8" services: kinship-directory: image: kinship-directory:latest container_name: kinship-directory restart: unless-stopped ports: - \"3001:3000\" environment: - MONGODB_URI=mongodb://kinship-mongo:27017 - MONGODB_DB=kinship_directory - AUTH_SECRET=${AUTH_SECRET} - NODE_ENV=production depends_on: kinship-mongo: condition: service_healthy networks: - kinship-net kinship-mongo: image: mongo:8 container_name: kinship-mongo restart: unless-stopped volumes: - /mnt/user/appdata/kinship-mongo/data:/data/db healthcheck: test: [\"CMD\", \"mongosh\", \"--quiet\", \"--eval\", \"db.runCommand({ ping: 1 }).ok\"] interval: 5s timeout: 3s retries: 20 networks: - kinship-net networks: kinship-net: driver: bridge COMPOSE_EOF" echo "Starting Kinship Directory..." $SSH $HOST "cd $APP_DIR && docker compose up -d" echo "Adding SWAG reverse proxy configuration..." $SSH $HOST "cp $APP_DIR/directory.base.jeditemple.com.subdomain.conf /config/nginx/proxy-confs/ 2>/dev/null || ($SCP $APP_DIR/directory.base.jeditemple.com.subdomain.conf $HOST:/tmp/ && $SSH $HOST 'cp /tmp/directory.base.jeditemple.com.subdomain.conf /config/nginx/proxy-confs/')" echo "Restarting SWAG to apply reverse proxy config..." $SSH $HOST "docker restart swag" echo "" echo "=== Deployment Complete ===" echo "Application URL: https://directory.base.jeditemple.com" echo "AUTH_SECRET: $AUTH_SECRET" echo "" echo "Save this AUTH_SECRET in your docker-compose.yml if you rebuild:" echo "export AUTH_SECRET=$AUTH_SECRET"