name: Deploy to VPS on: push: branches: - main jobs: build-and-deploy: runs-on: ubuntu-latest steps: # 1) Checkout your code - uses: actions/checkout@v3 # 2) Set up Node.js - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '18' # 3) Install dependencies & build - name: Install & Build run: | npm ci npm run build # Vite’s default output dir is `dist/` # 4) Copy build output to VPS via SCP - name: Deploy build via SCP uses: appleboy/scp-action@master with: host: ${{ secrets.VPS_HOST }} username: ${{ secrets.VPS_USER }} key: ${{ secrets.VPS_SSH_KEY }} port: 22 source: "dist/*" target: ${{ secrets.VPS_DESTINATION }} # 5) Restart Nginx inside Docker on your VPS - name: Restart Nginx (Docker) uses: appleboy/ssh-action@master with: host: ${{ secrets.VPS_HOST }} username: ${{ secrets.VPS_USER }} key: ${{ secrets.VPS_SSH_KEY }} script: | docker restart nginx