clio/clio-api/deploy.sh
Your Name b24dd72ae0
Some checks failed
Deploy API / deploy (push) Failing after 1s
Deploy UI / deploy (push) Successful in 1s
Remove redundant cursor styling
2026-05-19 19:48:13 -04:00

74 lines
1.9 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
# Deployment script for phone-recorder server
# Target: thallock@10.0.0.45 (SSH port 2252)
#
# Paths on server:
# Code: /work/hosting/recordings
# Data (db): /work/hosting/recordings/data
# Audio: /media/external/Hosting/Recordings
SERVER_HOST="10.0.0.45"
SERVER_USER="thallock"
SERVER_PORT="2252"
CODE_DIR="/work/hosting/recordings"
DATA_DIR="/work/hosting/recordings/data"
AUDIO_DIR="/media/external/Hosting/Recordings"
SSH_OPTS="-p ${SERVER_PORT}"
SSH_CMD="ssh ${SSH_OPTS} ${SERVER_USER}@${SERVER_HOST}"
RSYNC_SSH="ssh -p ${SERVER_PORT}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "=== Deploying phone-recorder server to ${SERVER_USER}@${SERVER_HOST} ==="
# Sync server code (excluding local data)
echo "Syncing server code..."
rsync -avz --delete \
--exclude '.venv' \
--exclude '__pycache__' \
--exclude '*.pyc' \
--exclude 'recordings/' \
--exclude 'recordings.db' \
--exclude 'keys/' \
--exclude 'data/' \
--exclude '.git' \
--exclude 'nixos/' \
-e "${RSYNC_SSH}" \
"${SCRIPT_DIR}/" \
"${SERVER_USER}@${SERVER_HOST}:${CODE_DIR}/"
echo "Setting up on remote server..."
${SSH_CMD} bash << REMOTE_SCRIPT
set -euo pipefail
# Create directories
mkdir -p ${DATA_DIR}/keys
mkdir -p ${AUDIO_DIR}
cd ${CODE_DIR}
# Sync dependencies
echo "Syncing Python dependencies..."
uv sync
echo ""
echo "=== Server code deployed ==="
echo "Code: ${CODE_DIR}"
echo "Data: ${DATA_DIR}"
echo "Audio: ${AUDIO_DIR}"
echo ""
echo "To install/update systemd service:"
echo " sudo cp ${CODE_DIR}/nixos/phone-recorder.service /etc/systemd/system/"
echo " sudo systemctl daemon-reload"
echo " sudo systemctl enable --now phone-recorder"
echo ""
echo "To check status:"
echo " sudo systemctl status phone-recorder"
echo " curl http://localhost:8000/health"
REMOTE_SCRIPT
echo ""
echo "=== Deployment complete ==="