#!/usr/bin/env bash set -euo pipefail # Push Python void-workers source to CT 311 and restart the service. # Run from /project/src/void-v2. TARGET=${TARGET:-root@192.168.1.13} REMOTE_DIR=${REMOTE_DIR:-/opt/void-workers} rsync -avz --delete \ --exclude .venv \ --exclude __pycache__ \ --exclude '*.egg-info' \ --exclude tests \ --exclude .env \ --exclude .gitignore \ --exclude .pytest_cache \ workers/ "$TARGET:$REMOTE_DIR/" ssh "$TARGET" " # rsync runs as root → files land root-owned. Workers run as voidworkers. chown -R voidworkers: $REMOTE_DIR su voidworkers -c ' cd $REMOTE_DIR if [ ! -d venv ]; then python3 -m venv venv fi . venv/bin/activate pip install --quiet --upgrade pip pip install --quiet -e \".[all]\" ' systemctl restart void-workers " echo "Workers deployed."