Tachyontachyon
Guides

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-key

Never commit this file. See Configuration → Authentication for what each key actually gates.

Bringing it up

docker compose up -d
docker compose logs -f tachyon

On first start with no existing volume data, create your collections and index documents as in the Quickstart — Compose doesn't seed data for you.

On this page