Skip to content

Quickstart

This gets a local instance running with Docker Compose. You need Docker with the Compose plugin, git and openssl.

  1. Clone the repository

    Terminal window
    git clone https://github.com/outflareai/outflare
    cd outflare
  2. Create your settings file

    Terminal window
    cp deploy/.env.example deploy/.env
    echo "OUTFLARE_SECRET_KEY=$(openssl rand -base64 32)" >> deploy/.env

    Open deploy/.env and change POSTGRES_PASSWORD. OUTFLARE_SECRET_KEY encrypts mailbox passwords at rest. Compose refuses to start without it.

  3. Start it

    Terminal window
    docker compose -f deploy/docker-compose.yml up -d
    curl localhost:8080/readyz

    readyz returns {"status":"ok"} once the engine can reach Postgres. The engine runs its database migrations on start.

  4. Create the first user and workspace

    Open http://localhost:8080. The first visit runs setup: you enter your name, email, a password of at least 10 characters and a workspace name, and you become the workspace owner. Setup only works while the instance has no users.

  5. Import your mailboxes

    Go to Mailboxes → Import CSV and upload the file your inbox reseller gave you. The only required columns are email and password (an app password). Each mailbox is signed in to over SMTP and IMAP, and each domain’s SPF, DKIM and DMARC are checked. See Import mailboxes for every column that is recognised.

  6. Create an API token and call the API

    Go to API tokens, create a token with the mailboxes.read scope, and copy it. It starts with oft_ and is shown once.

    Terminal window
    export OUTFLARE_TOKEN=oft_...
    export WS=your-workspace-id # listed under "workspaces" in GET /v1/me
    curl localhost:8080/v1/workspaces/$WS/mailboxes \
    -H "Authorization: Bearer $OUTFLARE_TOKEN"