name: Deploy on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 # Runner уже на cacto-homelab и имеет доступ к docker.sock хоста, # поэтому образ собирается прямо на месте — без registry и без SSH. - name: Sync to deploy directory run: | mkdir -p /data/docker/compose/cactoz rsync -a --delete --exclude '.git' ./ /data/docker/compose/cactoz/ - name: Build and restart working-directory: /data/docker/compose/cactoz run: | docker compose -f docker-compose.prod.yml build docker compose -f docker-compose.prod.yml up -d docker image prune -f