snapshot of https://github.com/tldraw/tldraw.git (main, 2026-09-23; blobs > 131072B omitted)
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
Some checks failed
Deploy analytics worker / Deploy analytics worker to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
i18n upload strings / Upload latest strings (push) Failing after 1s
Deploy bemo / Deploy bemo to ${{ (github.ref == 'refs/heads/bemo-production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Failing after 1s
Deploy grafana resources / ${{ github.event_name == 'push' && 'Deploy grafana resources' || 'Validate grafana resources (dry run)' }} (push) Failing after 0s
End to end tests (dotcom) / Check for relevant changes (push) Failing after 0s
End to end tests (examples) / Check for relevant changes (push) Failing after 0s
End to end tests (mermaid readability) / Check for relevant changes (push) Failing after 1s
End to end tests (perf) / Check for relevant changes (push) Failing after 0s
Publish editor extensions / Publish editor extensions (push) Failing after 1s
Publish SDK packages / Remove the publish-packages label (push) Has been skipped
Checks / Tests & checks (push) Has been cancelled
Checks / Build all projects (push) Has been cancelled
Deploy templates / Deploy templates (push) Has been cancelled
End to end tests (dotcom) / End to end tests (dotcom) (push) Has been cancelled
End to end tests (mermaid readability) / End to end tests (mermaid readability) (push) Has been cancelled
End to end tests (perf) / End to end tests (perf) (push) Has been cancelled
Deploy .com / Deploy dotcom to ${{ (github.ref == 'refs/heads/production' && 'production') || (github.ref == 'refs/heads/main' && 'staging') || 'preview' }} (push) Has been cancelled
End to end tests (examples) / End to end tests (examples) (push) Has been cancelled
Publish SDK packages / Publish SDK packages (push) Has been cancelled
Publish SDK packages / Tell user released version (push) Has been cancelled
Publish SDK packages / Publishes code templates to separate repositories (push) Has been cancelled
Publish SDK packages / Deploys the template demos with the new SDK version (push) Has been cancelled
This commit is contained in:
121
apps/dotcom/process-compose.yaml
Normal file
121
apps/dotcom/process-compose.yaml
Normal file
@@ -0,0 +1,121 @@
|
||||
# Dotcom dev stack, brought up by `yarn dev-app`. Usage notes in apps/dotcom/README.md.
|
||||
|
||||
version: '0.5'
|
||||
|
||||
# Readiness = TCP connect (a portable node one-liner; wrangler's `/` 404s, so http_get won't do).
|
||||
|
||||
processes:
|
||||
# postgres + pgbouncer — the two containers (wal2json / logical replication)
|
||||
postgres:
|
||||
command: docker compose -f apps/dotcom/zero-cache/docker/docker-compose.yml up
|
||||
shutdown:
|
||||
command: docker compose -f apps/dotcom/zero-cache/docker/docker-compose.yml down
|
||||
readiness_probe:
|
||||
exec:
|
||||
command: node -e "require('net').connect(6543,'127.0.0.1').on('connect',function(){this.end();process.exit(0)}).on('error',()=>process.exit(1))"
|
||||
initial_delay_seconds: 2
|
||||
period_seconds: 2
|
||||
# ~180s budget: the first run pulls the postgres image, which can take minutes.
|
||||
failure_threshold: 90
|
||||
|
||||
# migrations — one-shot; gates zero-cache
|
||||
migrate:
|
||||
command: yarn workspace @tldraw/zero-cache migrate
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: process_healthy
|
||||
availability:
|
||||
restart: 'no'
|
||||
|
||||
# zero-cache — replicates from postgres. Runs directly: nothing reads .schema.js, so there's no
|
||||
# schema rebuild/restart watch.
|
||||
zero-cache:
|
||||
command: yarn workspace @tldraw/zero-cache exec zero-cache
|
||||
environment:
|
||||
- NODE_ENV=development
|
||||
- ZERO_UPSTREAM_DB=postgresql://user:password@127.0.0.1:6543/postgres
|
||||
- ZERO_CVR_DB=postgresql://user:password@127.0.0.1:6543/postgres
|
||||
- ZERO_CHANGE_DB=postgresql://user:password@127.0.0.1:6543/postgres
|
||||
- ZERO_REPLICA_FILE=/tmp/tldraw-dotcom-zero-dev.db
|
||||
- ZERO_NUM_SYNC_WORKERS=1
|
||||
- ZERO_CVR_MAX_CONNS=6
|
||||
- ZERO_UPSTREAM_MAX_CONNS=6
|
||||
- ZERO_APP_PUBLICATIONS=zero_data
|
||||
- ZERO_MUTATE_URL=http://localhost:8787/app/zero/mutate
|
||||
- ZERO_QUERY_URL=http://localhost:8787/app/zero/query
|
||||
- ZERO_ENABLE_CRUD_MUTATIONS=false
|
||||
- ZERO_LOG_LEVEL=info
|
||||
- ZERO_ENABLE_STARTUP_MESSAGE=0
|
||||
- DO_NOT_TRACK=1
|
||||
depends_on:
|
||||
migrate:
|
||||
condition: process_completed_successfully
|
||||
readiness_probe:
|
||||
exec:
|
||||
command: node -e "require('net').connect(4848,'127.0.0.1').on('connect',function(){this.end();process.exit(0)}).on('error',()=>process.exit(1))"
|
||||
initial_delay_seconds: 3
|
||||
period_seconds: 2
|
||||
failure_threshold: 90
|
||||
|
||||
# workers — wrangler dev / workerd on the host
|
||||
sync-worker:
|
||||
command: yarn workspace @tldraw/dotcom-worker dev
|
||||
depends_on:
|
||||
zero-cache:
|
||||
condition: process_healthy
|
||||
readiness_probe:
|
||||
exec:
|
||||
command: node -e "require('net').connect(8787,'127.0.0.1').on('connect',function(){this.end();process.exit(0)}).on('error',()=>process.exit(1))"
|
||||
initial_delay_seconds: 3
|
||||
period_seconds: 2
|
||||
failure_threshold: 60
|
||||
|
||||
# one-shot wake of the outbox processor DO — local workerd doesn't fire persisted alarms for an
|
||||
# uninstantiated DO, so without this a restarted stack wouldn't drain trigger-only writes until
|
||||
# the first mutation. A one-shot (not the readiness probe) so it doesn't poke every 2s forever.
|
||||
wake-outbox:
|
||||
command: node -e "fetch('http://127.0.0.1:8787/app/outbox-status').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
|
||||
depends_on:
|
||||
sync-worker:
|
||||
condition: process_healthy
|
||||
availability:
|
||||
restart: 'no'
|
||||
|
||||
asset-upload-worker:
|
||||
command: yarn workspace dotcom-asset-upload dev
|
||||
|
||||
# image-resize + usercontent bind sync-worker by name, so it must come up first
|
||||
image-resize-worker:
|
||||
command: yarn workspace images.tldraw.com dev
|
||||
depends_on:
|
||||
sync-worker:
|
||||
condition: process_healthy
|
||||
|
||||
tldrawusercontent-worker:
|
||||
command: yarn workspace dotcom-tldrawusercontent dev
|
||||
depends_on:
|
||||
sync-worker:
|
||||
condition: process_healthy
|
||||
|
||||
# css — tldraw.css / commenting.css are generated, not checked in. Each package's `predev` writes
|
||||
# them once, then its `dev` watches the source css and re-copies. The client @imports both, so it
|
||||
# waits for the files to exist.
|
||||
css:
|
||||
command: LAZYREPO_PRETTY_OUTPUT=0 yarn lazy run dev --filter='packages/tldraw' --filter='packages/commenting'
|
||||
readiness_probe:
|
||||
exec:
|
||||
command: node -e "require('fs').accessSync('packages/tldraw/tldraw.css');require('fs').accessSync('packages/commenting/commenting.css')"
|
||||
initial_delay_seconds: 2
|
||||
period_seconds: 2
|
||||
failure_threshold: 60
|
||||
|
||||
# client — vite dev server
|
||||
client:
|
||||
command: yarn workspace dotcom dev
|
||||
depends_on:
|
||||
sync-worker:
|
||||
condition: process_healthy
|
||||
zero-cache:
|
||||
condition: process_healthy
|
||||
css:
|
||||
condition: process_healthy
|
||||
Reference in New Issue
Block a user