EddytorDocs & API

Docker Compose (single host)

Run the full Eddytor stack on one host with Docker Compose.

Docker Compose runs a single server and a single engine (talking over direct TCP), plus optional bundled Postgres and object storage. It's the simplest way to run Eddytor and what the Quickstart installer sets up.

The fast path

curl -fsSL https://get.eddytor.com | sh

This scaffolds ~/eddytor/ (docker-compose.yml, config.toml, .env), generates secrets, starts the stack, and prompts for the first admin. See the Quickstart for the walkthrough.

Driving it yourself

If you'd rather not pipe a script to a shell - or you're wiring external Postgres / S3 - do the same steps by hand:

mkdir -p ~/eddytor && cd ~/eddytor
curl -fsSL https://get.eddytor.com/docker-compose.yml -o docker-compose.yml
curl -fsSL https://get.eddytor.com/config.toml       -o config.toml

cat > .env <<EOF
EDDYTOR_ENCRYPTION_KEY=$(openssl rand -base64 32)
EDDYTOR_API_KEY_SECRET=$(openssl rand -base64 32)
EDDYTOR_DATABASE_URL=postgres://eddytor:eddytor@postgres:5432/eddytor
EDDYTOR_VERSION=$(curl -fsSL https://get.eddytor.com/VERSION)
EOF

docker compose up -d

Good to know

The bundled object store (Garage) needs random credentials and a garage.toml mounted read-only. The curl | sh installer writes both for you - prefer it unless you're bringing your own Postgres/S3.

What's running

ServiceRole
eddytor-serverREST + gRPC API, MCP, auth, migrations. Port 8080 (API), 8082 (Flight SQL).
eddytor-engineData plane - reads/writes Delta tables.
postgresBundled metadata DB (evaluation).
garageBundled S3-compatible object store (evaluation).

Heads up

http://localhost:8080 is the API, not a web page - Eddytor is API-first. The optional Web UI serves at :3000.

Operate it

docker compose ps                        # wait for eddytor-server (healthy)
docker compose logs -f eddytor-server    # follow logs
docker compose restart                   # after editing config.toml
docker compose pull && docker compose up -d   # upgrade (bump EDDYTOR_VERSION first)

Config is read at boot, not hot-reloaded - restart after editing config.toml. See Configure.

Next

On this page