Files
hermes-config/skills/self-hosting/shop-pro-quote/references/local-dev-server.md
T
2026-07-12 10:17:17 -04:00

1.6 KiB

Local Dev Server (Vite)

Start: npx vite --host 0.0.0.0 --port 5173

vite.config.ts requirements

1. Proxy rewrite (critical)

Vite's proxy prefix stripping is unreliable. Always explicit:

### 1. Proxy rewrites

'/pb': { target: 'http://127.0.0.1:8091', changeOrigin: true, rewrite: (path) => path.replace(/^/pb/, ''), }, '/deepseek': { target: 'https://localhost', changeOrigin: true, secure: false, // localhost self-signed cert rewrite: (path) => path.replace(/^/deepseek/, '/deepseek'), },


**Important:** The `/deepseek` proxy MUST route through the local nginx server (`localhost:443`), NOT directly to Ollama or api.deepseek.com. The nginx config adds the `Authorization` header with the DeepSeek API key. Without routing through nginx, AI calls will fail with authentication errors in dev mode.

2. PocketBase SDK import keyword error

pb SDK v0.27.0 uses import as a class method name at line ~28540: async import(e, t = !1, s)

Vite's esbuild pre-bundler leaves import as-is. Browsers reject it as syntax error.

Two-part fix:

  1. vite.config.ts: optimizeDeps: { exclude: ['pocketbase'] }
  2. Patch source: sed -i 's/async import(/async _import(/g' node_modules/pocketbase/dist/pocketbase.es.mjs
  3. Clear cache: rm -rf node_modules/.vite

PocketBase Admin (v0.39.x)

  • Superuser auth: POST /api/collections/_superusers/auth-with-password (NOT /api/admins/...)
  • Create superuser: docker exec pocketbase /usr/local/bin/pocketbase superuser create <email> <pass> --dir /pb_data
  • Create collections via superuser token from auth endpoint