Files
hihala-dashboard/.gitea/workflows/deploy.yml
fahed b8d33f4f8c
Some checks failed
Deploy HiHala Dashboard / deploy (push) Failing after 51m18s
feat: deploy Express server via CI/CD with systemd + nginx proxy
- Update deploy.yml to rsync server/, install deps, write .env from
  Gitea secrets, and restart hihala-dashboard.service
- Move tsx to regular dependencies for production use
- Remove unused SESSION_SECRET from config
- Accept PORT env var as fallback for SERVER_PORT

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 17:59:34 +03:00

64 lines
2.0 KiB
YAML

name: Deploy HiHala Dashboard
on:
push:
branches: [main, master]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
# --- Frontend ---
- name: Build frontend
env:
VITE_NOCODB_URL: ${{ secrets.VITE_NOCODB_URL }}
VITE_NOCODB_TOKEN: ${{ secrets.VITE_NOCODB_TOKEN }}
VITE_NOCODB_BASE_ID: ${{ secrets.VITE_NOCODB_BASE_ID }}
run: |
npm ci
npm run build
- name: Deploy frontend
run: rsync -a --delete build/ /opt/apps/hihala-dashboard/build/
# --- Backend ---
- name: Deploy server
run: rsync -a --delete --exclude='.env' --exclude='node_modules' server/ /opt/apps/hihala-dashboard/server/
- name: Install server dependencies
run: cd /opt/apps/hihala-dashboard/server && npm ci
- name: Write server .env
env:
ADMIN_PIN: ${{ secrets.ADMIN_PIN }}
NOCODB_URL: ${{ secrets.VITE_NOCODB_URL }}
NOCODB_TOKEN: ${{ secrets.VITE_NOCODB_TOKEN }}
NOCODB_BASE_ID: ${{ secrets.VITE_NOCODB_BASE_ID }}
ERP_API_URL: ${{ secrets.ERP_API_URL }}
ERP_API_CODE: ${{ secrets.ERP_API_CODE }}
ERP_USERNAME: ${{ secrets.ERP_USERNAME }}
ERP_PASSWORD: ${{ secrets.ERP_PASSWORD }}
ETL_SECRET: ${{ secrets.ETL_SECRET }}
run: |
cat > /opt/apps/hihala-dashboard/server/.env << EOF
NODE_ENV=production
SERVER_PORT=3002
ADMIN_PIN=${ADMIN_PIN}
NOCODB_URL=${NOCODB_URL}
NOCODB_TOKEN=${NOCODB_TOKEN}
NOCODB_BASE_ID=${NOCODB_BASE_ID}
ERP_API_URL=${ERP_API_URL}
ERP_API_CODE=${ERP_API_CODE}
ERP_USERNAME=${ERP_USERNAME}
ERP_PASSWORD=${ERP_PASSWORD}
ETL_SECRET=${ETL_SECRET}
EOF
- name: Restart server service
run: sudo systemctl restart hihala-dashboard.service