Skip to content

Installation

basedb fits in a single Docker image, eodia/basedb (amd64 and arm64): the interface, the API and the MCP server, served on a single address. It needs a PostgreSQL 16 database, which the docker-compose.yml provides.

Prerequisites: Docker with Compose v2. Two files are enough, no need for the code:

Fenêtre de terminal
mkdir basedb && cd basedb
curl -fsSLO https://raw.githubusercontent.com/eodia/basedb/main/docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/eodia/basedb/main/.env.example -o .env

Open .env and fill in the only two required values:

Fenêtre de terminal
POSTGRES_PASSWORD=un-mot-de-passe-solide
# generated once and for all: openssl rand -base64 32
BASEDB_ENCRYPTION_KEY=…

Then start:

Fenêtre de terminal
docker compose up -d

On first start, basedb creates the catalog. Then open http://localhost:3000: the first page asks you to create the administrator account, with your name, your email address and the password of your choice, and you are signed in right away.

For an unattended installation, name the administrator in .env with BASEDB_ADMIN_EMAIL: basedb creates it on first start and prints its password only once in its logs (docker compose logs basedb), unless you set it with BASEDB_ADMIN_PASSWORD.

AddressRole
http://localhost:3000the interface
http://localhost:3000/apithe REST API and its documentation
http://localhost:3000/mcpthe MCP server, for agents
localhost:5432PostgreSQL, for psql and your tools

Ports are published on 127.0.0.1 only. To serve basedb on a domain, see Domain and HTTPS.

The image alone is enough, with a PostgreSQL 16 or later database (a role that owns the database, pg_trgm and unaccent extensions available):

Fenêtre de terminal
docker run -d --name basedb -p 3000:3000 -v basedb-files:/data \
-e DATABASE_URL=postgres://basedb:secret@db.example.com:5432/basedb \
-e BASEDB_ENCRYPTION_KEY="$(openssl rand -base64 32)" \
eodia/basedb

Keep the generated key: see the box below.

Prerequisites: Node 22 or later, Docker, and corepack enable.

Fenêtre de terminal
corepack pnpm install
corepack pnpm exec tsc -b packages/naming packages/contracts packages/catalog-schema packages/core apps/api apps/mcp
corepack pnpm start

pnpm start picks free ports, starts a throwaway PostgreSQL 16, applies the catalog, seeds a development administrator (admin@basedb.local / developpement-basedb, address prefilled on the sign-in page), then launches the API, the MCP server and the interface in development mode. Ctrl+C stops everything, container included.

basedb is open-source software by Eodia, an AI-native software studio.