Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,16 @@ Tidebase packages that layer around your existing code. It is not an LLM proxy,

## Quick Start

**Fastest path (no Node needed)** — prebuilt server image:

```bash
docker compose --profile server up -d # Postgres + ghcr.io/blueprintlabio/tidebase on :7373
```

Then point any SDK at `http://localhost:7373` (`npm i @tidebase/sdk` or `pip install tidebase`).

**Dev setup (server + Studio from source):**

Start Postgres:

```bash
Expand Down
12 changes: 12 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,17 @@ services:
volumes:
- tidebase-postgres:/var/lib/postgresql/data

# Prebuilt server image — no Node required:
# docker compose --profile server up -d
server:
image: ghcr.io/blueprintlabio/tidebase:latest
profiles: [server]
environment:
DATABASE_URL: postgres://tidebase:tidebase@postgres:5432/tidebase
ports:
- "7373:7373"
depends_on:
- postgres
Comment on lines +22 to +23

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Wait for Postgres readiness before starting server

In the documented docker compose --profile server up -d path, the new server container starts immediately after the Postgres container is created, but apps/server/src/index.ts runs await migrate() before listening and db.ts performs a single pool.connect() with no retry. Docker’s Compose service docs state that short depends_on only controls startup order and “does not wait for dependency services to be ‘healthy’” (https://docs.docker.com/reference/compose-file/services/#depends_on), so on a fresh volume the server can race Postgres initialization, exit on ECONNREFUSED, and leave the advertised no-Node quickstart down. Add a Postgres healthcheck and use condition: service_healthy here, or make the server retry DB connection.

Useful? React with 👍 / 👎.


volumes:
tidebase-postgres:
Loading