- README rewritten end-to-end: stack, quick start, dev workflow, full
/api/v1 endpoint table, error and pagination envelopes, auth
quick-start (browser + bot bearer), configuration table, deployment
notes, backup/restore pointer. Stale "next features" section dropped
now that all eight feat branches are in.
- .env.example now lists every env var the backend reads, with
inline explanations:
- COOKIE_SECURE / COOKIE_DOMAIN / SESSION_TTL_DAYS (auth)
- CORS_ALLOWED_ORIGINS (same-origin by default)
- MAX_REQUEST_BYTES / MAX_FILE_BYTES (upload caps)
- Postgres + storage + log vars carried over.
- docker-compose.yml forwards all of the above into the backend
service with `${VAR:-default}` so an unset value falls back to the
same default the code uses, and any `.env` override flows through
without a compose edit.
- docs/backup.md: step-by-step backup, restore, and smoke-test drill
for both stateful volumes (postgres-data + storage-data), plus a
list of what's deliberately *not* in the backup (e.g., .env).
- playwright.config.ts: pins the e2e dev server to port 5174 with
`--strictPort` so it neither reuses nor silently bumps off
collision with another vite instance on 5173. Drops the flaky
manual-start workflow the earlier branches needed.
- docker-compose syntax (both prod and dev) validates cleanly against
.env.example with no undefined-variable warnings.
No version bump — this is documentation, config, and tooling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
27 lines
948 B
TypeScript
27 lines
948 B
TypeScript
import { defineConfig } from '@playwright/test';
|
|
|
|
// Playwright runs the SvelteKit dev server on a dedicated port so it
|
|
// doesn't reuse whatever the dev workflow has on the vite default
|
|
// (`5173`). `--strictPort` makes vite fail fast on collision instead of
|
|
// silently bumping to a free port, which would leave Playwright pointed
|
|
// at the wrong host. Set `E2E_BASE_URL` to skip the embedded server and
|
|
// point at an already-running deployment.
|
|
const E2E_PORT = 5174;
|
|
|
|
export default defineConfig({
|
|
testDir: 'e2e',
|
|
timeout: 30_000,
|
|
use: {
|
|
baseURL: process.env.E2E_BASE_URL ?? `http://localhost:${E2E_PORT}`,
|
|
trace: 'retain-on-failure'
|
|
},
|
|
webServer: process.env.E2E_BASE_URL
|
|
? undefined
|
|
: {
|
|
command: `npm run dev -- --port ${E2E_PORT} --strictPort`,
|
|
port: E2E_PORT,
|
|
reuseExistingServer: !process.env.CI,
|
|
timeout: 120_000
|
|
}
|
|
});
|