47 lines
1.4 KiB
Bash
Executable File
47 lines
1.4 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}"
|
|
|
|
# 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"
|