name: Deploy to Ubuntu Server on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout source 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: Deploy files via SCP env: HOST: ${{ secrets.NAS_HOST }} PORT: ${{ secrets.NAS_PORT }} USER: ${{ secrets.NAS_USER }} run: | ssh -o StrictHostKeyChecking=no -p $PORT $USER@$HOST "rm -rf ~/robeing-nginx/* || true; mkdir -p ~/robeing-nginx" tar --exclude='.git' -czf - . | ssh -o StrictHostKeyChecking=no -p $PORT $USER@$HOST "cd ~/robeing-nginx && tar -xzf -" - name: Start services via SSH env: HOST: ${{ secrets.NAS_HOST }} PORT: ${{ secrets.NAS_PORT }} USER: ${{ secrets.NAS_USER }} run: | ssh -o StrictHostKeyChecking=no -p $PORT $USER@$HOST << 'EOF' cd ~/robeing-nginx docker compose down || true docker compose up -d EOF