Fix deployment script and deploy FreeTAKServer

This commit is contained in:
dev
2026-05-03 14:16:38 +02:00
parent 93d3607cee
commit ccdc294ae1
+32 -25
View File
@@ -1,7 +1,6 @@
#!/bin/bash #!/bin/bash
# Deploy FreeTAKServer to Proxmox container 111 on askaban # Deploy FreeTAKServer to Proxmox container 111 on askaban
set -e
ASKABAN_IP="192.168.0.152" ASKABAN_IP="192.168.0.152"
CONTAINER_ID="111" CONTAINER_ID="111"
@@ -9,7 +8,6 @@ REMOTE_DIR="/root/tac-aware"
echo "=== TacAware FreeTAKServer Deployment ===" echo "=== TacAware FreeTAKServer Deployment ==="
echo "Target: ${ASKABAN_IP}, Container: ${CONTAINER_ID}" echo "Target: ${ASKABAN_IP}, Container: ${CONTAINER_ID}"
echo
# Check if .env exists # Check if .env exists
if [ ! -f .env ]; then if [ ! -f .env ]; then
@@ -19,32 +17,41 @@ if [ ! -f .env ]; then
exit 1 exit 1
fi fi
# Copy files to container 111 on askaban # Create tar archive
echo "Copying files to container ${CONTAINER_ID}..." echo "Creating archive..."
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' \ tar --exclude='.git' --exclude='node_modules' --exclude='.env' \
-czf /tmp/tac-aware.tar.gz -C /root/dev/tac-aware . -czf /tmp/tac-aware.tar.gz .
ssh root@${ASKABAN_IP} "pct exec ${CONTAINER_ID} -- mkdir -p /tmp/deploy && \ # Copy to askaban
cd /tmp/deploy && tar -xzf -" < /tmp/tac-aware.tar.gz echo "Copying to askaban..."
scp /tmp/tac-aware.tar.gz root@${ASKABAN_IP}:/tmp/
# Copy extracted files to correct location in container # Execute deployment on askaban
ssh root@${ASKABAN_IP} "pct exec ${CONTAINER_ID} -- bash -c 'cp -r /tmp/deploy/* ${REMOTE_DIR}/ 2>/dev/null || true'" ssh root@${ASKABAN_IP} "bash -s" << 'ENDSSH'
CONTAINER_ID="111"
REMOTE_DIR="/root/tac-aware"
# Deploy on container # Create directory in container
echo "Starting deployment in container..." pct exec ${CONTAINER_ID} -- mkdir -p ${REMOTE_DIR}
ssh root@${ASKABAN_IP} << EOF
pct exec ${CONTAINER_ID} -- bash -c "cd ${REMOTE_DIR} && \ # Push tar to container and extract
docker compose down && \ pct push ${CONTAINER_ID} /tmp/tac-aware.tar.gz ${REMOTE_DIR}/tac-aware.tar.gz
docker compose pull && \
docker compose up -d && \ # Extract in container
echo '=== Containers Status ===' && \ pct exec ${CONTAINER_ID} -- bash -c "cd ${REMOTE_DIR} && tar -xzf tac-aware.tar.gz && rm tac-aware.tar.gz"
docker ps"
EOF # Copy .env if exists
if [ -f /root/dev/tac-aware/.env ]; then
pct push ${CONTAINER_ID} /root/dev/tac-aware/.env ${REMOTE_DIR}/.env
fi
# Deploy
pct exec ${CONTAINER_ID} -- bash -c "cd ${REMOTE_DIR} && docker compose down 2>/dev/null || true && docker compose pull && docker compose up -d"
# Show status
echo "=== Container Status ==="
pct exec ${CONTAINER_ID} -- docker ps
ENDSSH
echo
echo "Deployment complete!" 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"