Local video-canvas test environment
This environment uses an isolated PGlite database and a fixed local test
account/project. It must never point POSTGRES_URL at a non-loopback host.
Start the local database
pnpm db:local:video-canvas
The database listens on 127.0.0.1:15432. Keep the process running while the
application and synchronization commands are in use.
Synchronize server configuration
Create an SSH tunnel from local port 15433 to the server PostgreSQL port,
then run the initial exact copy:
pnpm db:sync:video-canvas
This copies AI providers, AI models, the video-canvas-related system settings, tool configuration, storage configuration, and site settings. It also creates the fixed local administrator account and an empty video-canvas project. The script refuses a non-loopback destination and verifies every copied table by a canonical SHA-256 digest.
After local competitor-matching settings have been saved, use the preservation mode for later server model/configuration refreshes:
pnpm db:sync:video-canvas -- --preserve-video-canvas-config
This still refreshes providers, models, storage, site settings, and the other
selected server settings, but preserves the local
video_canvas_function_config row. The test user is updated in place so
administrator audit references do not break repeated synchronization.
Fixed test records
- User ID:
00000000-0000-4000-8000-000000000101 - Project ID:
00000000-0000-4000-8000-000000000201 - Project URL:
/canvas/00000000-0000-4000-8000-000000000201
Do not add server credentials, storage keys, or test-account passwords to this document.
Verification snapshot
On 2026-07-16, preservation-mode synchronization verified:
- 35 AI providers
- 30 AI models
- 4 storage configurations
- 20 selected system settings
- 1 site-settings row
- an authenticated administrator session and HTTP 200 video-canvas config
The local video_canvas_function_config digest was unchanged before and after
the refresh, and the fixed project was recreated with zero nodes and edges.