Run Tachyon with Docker Compose
A Compose file for local development and small deployments — Tachyon plus your application, wired together with a persistent volume.
Tachyon ships as a single container by design — there's no official Compose file, because none is required to run it. This is a Compose file you can adapt, not a first-party manifest; see Deployment → Orchestration for why none ships in the box.
Tachyon alone
# docker-compose.yml
services:
tachyon:
image: adikeshri/tachyon:latest
ports:
- "8108:8108"
volumes:
- tachyon-data:/data
environment:
TACHYON_ADMIN_KEY: ${TACHYON_ADMIN_KEY}
TACHYON_SEARCH_KEY: ${TACHYON_SEARCH_KEY}
healthcheck:
test: ["CMD", "tachyon", "--healthcheck"]
interval: 10s
timeout: 3s
retries: 3
volumes:
tachyon-data:--healthcheck is the flag documented on
Configuration specifically for this: it checks a
locally running instance and exits, which is exactly what a container
healthcheck needs.
Alongside your application
# docker-compose.yml
services:
tachyon:
image: adikeshri/tachyon:latest
volumes:
- tachyon-data:/data
environment:
TACHYON_ADMIN_KEY: ${TACHYON_ADMIN_KEY}
TACHYON_SEARCH_KEY: ${TACHYON_SEARCH_KEY}
healthcheck:
test: ["CMD", "tachyon", "--healthcheck"]
interval: 10s
timeout: 3s
retries: 3
app:
build: .
ports:
- "3000:3000"
environment:
TACHYON_URL: http://tachyon:8108
TACHYON_ADMIN_KEY: ${TACHYON_ADMIN_KEY}
TACHYON_SEARCH_KEY: ${TACHYON_SEARCH_KEY}
depends_on:
tachyon:
condition: service_healthy
volumes:
tachyon-data:Note that tachyon isn't published to the host here — only app is. Other
containers on the same Compose network reach it at http://tachyon:8108;
nothing outside the network can.
Environment file
# .env
TACHYON_ADMIN_KEY=change-me-before-anything-shared
TACHYON_SEARCH_KEY=a-different-read-only-keyNever commit this file. See Configuration → Authentication for what each key actually gates.
Bringing it up
docker compose up -d
docker compose logs -f tachyonOn first start with no existing volume data, create your collections and index documents as in the Quickstart — Compose doesn't seed data for you.