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 # Restart manually: sudo systemctl restart hihala-dashboard.service