Fix deployment script and deploy FreeTAKServer
This commit is contained in:
@@ -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"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user