79 lines
2.3 KiB
Bash
Executable File
79 lines
2.3 KiB
Bash
Executable File
#!/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"
|