#!/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}" # Create tar archive and copy to container tar --exclude='.git' --exclude='node_modules' --exclude='.env' \ -czf /tmp/tac-aware.tar.gz -C /root/dev/tac-aware . ssh root@${ASKABAN_IP} "pct exec ${CONTAINER_ID} -- mkdir -p /tmp/deploy && \ cd /tmp/deploy && tar -xzf -" < /tmp/tac-aware.tar.gz # Copy extracted files to correct location in container ssh root@${ASKABAN_IP} "pct exec ${CONTAINER_ID} -- bash -c 'cp -r /tmp/deploy/* ${REMOTE_DIR}/ 2>/dev/null || true'" # 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"