name: Build and Deploy on: push: branches: - main workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest # ⚠️ ต้องตรงกับ Label ของ Runner ใน Gitea Settings (เช่น self-hosted) steps: - name: Deploy to QNAP via SSH uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} password: ${{ secrets.PASSWORD }} port: ${{ secrets.PORT }} script_stop_signal: true # Stop script on error script: | # ⚠️ QNAP SSH ไม่มี PATH เต็ม ต้อง export เอง export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH" echo "🚀 Starting Deployment..." # 1. Update Code echo "📂 Pulling latest code..." cd /share/np-dms/app/source/lcbp3 git pull origin main # 2. Build Backend echo "🏗️ Building Backend..." docker build -f backend/Dockerfile -t lcbp3-backend:latest . # 3. Build Frontend echo "🏗️ Building Frontend..." docker build -f frontend/Dockerfile \ --build-arg NEXT_PUBLIC_API_URL=https://backend.np-dms.work/api \ -t lcbp3-frontend:latest . # 4. Update Containers echo "🔄 Updating Containers..." cd /share/np-dms/app docker compose -f docker-compose-app.yml up -d # 5. Cleanup echo "🧹 Cleaning up unused images..." docker image prune -f echo "✅ Deployment Complete!"