- Replace Docker Hub CI/CD with direct NAS deployment - Use rsync for reliable file synchronization - Add SSH-based remote docker-compose execution - Configure for Synology NAS volume path structure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
31 lines
847 B
YAML
31 lines
847 B
YAML
name: Deploy to NAS (rsync)
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup SSH key
|
|
uses: webfactory/ssh-agent@v0.9.0
|
|
with:
|
|
ssh-private-key: ${{ secrets.NAS_SSH_KEY_ADMIN }}
|
|
|
|
- name: Rsync to NAS
|
|
run: |
|
|
rsync -avz -e "ssh -o StrictHostKeyChecking=no -p ${{ secrets.NAS_PORT }}" ./ \
|
|
${{ secrets.NAS_USER }}@${{ secrets.NAS_HOST }}:/volume1/homes/admin/nginx-infra/
|
|
|
|
- name: Remote docker-compose up
|
|
run: |
|
|
ssh -o StrictHostKeyChecking=no -p ${{ secrets.NAS_PORT }} ${{ secrets.NAS_USER }}@${{ secrets.NAS_HOST }} << 'EOF'
|
|
cd /volume1/homes/admin/nginx-infra
|
|
docker-compose up -d --build
|
|
EOF |