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

45 lines
1.6 KiB
Markdown

# 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:
```ts
### 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