Files
tac-aware/deploy.sh
T

51 lines
1.6 KiB
Bash
Executable File

#!/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"