> ## Documentation Index
> Fetch the complete documentation index at: https://docs.formbase.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Docker Compose Setup

> Run local dependencies for Formbase.

Formbase ships a Docker Compose file for local dependencies: MinIO for file storage and Inbucket for email testing. The Formbase app itself runs via Bun/Node.

Use this setup for local development or as a starting point for your own infrastructure.

## Docker Compose file

This is the exact file from `docker/docker-compose.yml`:

```yaml docker-compose.yml theme={null}
version: '3.8'

name: formbase
services:
  inbucket:
    image: inbucket/inbucket
    container_name: formbase-mailserver
    ports:
      - 9000:9000
      - 2500:2500
      - 1100:1100
    volumes:
      - formbase-mail:/data

  minio:
    image: minio/minio
    container_name: formbase-minio
    ports:
      - 9002:9002
      - 9001:9001
    volumes:
      - minio:/data
    environment:
      MINIO_ROOT_USER: ${STORAGE_ACCESS_KEY:-formbase}
      MINIO_ROOT_PASSWORD: ${STORAGE_SECRET_KEY:-password}
    entrypoint: sh
    command: -c 'mkdir -p /data/formbase && minio server /data --console-address ":9001" --address ":9002"'

volumes:
  formbase-mail:
  minio:
```

## Start the services

<Steps>
  <Step title="Create your env file">
    Copy `apps/web/.env.development.example` to `apps/web/.env.local` and fill in the values.
  </Step>

  <Step title="Start dependencies">
    Run `bun docker:start` or `docker compose -f docker/docker-compose.yml up -d` from the repo root.
  </Step>

  <Step title="Run the app">
    Start the app with `bun run dev` (or `bun run app` if you only want the web app).
  </Step>
</Steps>

<Callout type="note">
  Inbucket's web UI runs on `http://localhost:9000` so you can inspect test emails.
</Callout>
