#!/bin/bash # Deploy FreeTAKServer to Proxmox container 111 on askaban set -e ASKABAN_IP="192.168.0.152" CONTAINER_ID="111" REMOTE_DIR="/root/tac-aware" echo "=== TacAware FreeTAKServer Deployment ===" echo "Target: ${ASKABAN_IP}, Container: ${CONTAINER_ID}" echo # Check if .env exists if [ ! -f .env ]; then echo "Warning: .env file not found. Creating from .env.example..." cp .env.example .env echo "Please edit .env with your settings before deploying." exit 1 fi # Copy files to container 111 on askaban echo "Copying files to container ${CONTAINER_ID}..." ssh root@${ASKABAN_IP} "pct exec ${CONTAINER_ID} -- mkdir -p ${REMOTE_DIR}" # Use rsync or scp to copy files rsync -avz --exclude='.git' --exclude='node_modules' \ ./ root@${ASKABAN_IP}:/tmp/tac-aware-deploy/ ssh root@${ASKABAN_IP} "pct push ${CONTAINER_ID} /tmp/tac-aware-deploy ${REMOTE_DIR} --perms --repeat" # Deploy on container echo "Starting deployment in container..." ssh root@${ASKABAN_IP} << EOF pct exec ${CONTAINER_ID} -- bash -c "cd ${REMOTE_DIR} && \ docker compose down && \ docker compose pull && \ docker compose up -d && \ echo '=== Containers Status ===' && \ docker ps" EOF echo echo "Deployment complete!" echo "FreeTAKServer UI should be available at: http://${FTS_IP:-192.168.0.152}:5000" echo "FreeTAKServer ports: 8080, 8087, 8089, 8443, 9000, 19023"