Quickstart
This gets a local instance running with Docker Compose. You need Docker with the Compose plugin, git and openssl.
-
Clone the repository
Terminal window git clone https://github.com/outflareai/outflarecd outflare -
Create your settings file
Terminal window cp deploy/.env.example deploy/.envecho "OUTFLARE_SECRET_KEY=$(openssl rand -base64 32)" >> deploy/.envOpen
deploy/.envand changePOSTGRES_PASSWORD.OUTFLARE_SECRET_KEYencrypts mailbox passwords at rest. Compose refuses to start without it. -
Start it
Terminal window docker compose -f deploy/docker-compose.yml up -dcurl localhost:8080/readyzreadyzreturns{"status":"ok"}once the engine can reach Postgres. The engine runs its database migrations on start. -
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.
-
Import your mailboxes
Go to Mailboxes → Import CSV and upload the file your inbox reseller gave you. The only required columns are
emailandpassword(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. -
Create an API token and call the API
Go to API tokens, create a token with the
mailboxes.readscope, and copy it. It starts withoft_and is shown once.Terminal window export OUTFLARE_TOKEN=oft_...export WS=your-workspace-id # listed under "workspaces" in GET /v1/mecurl localhost:8080/v1/workspaces/$WS/mailboxes \-H "Authorization: Bearer $OUTFLARE_TOKEN"
Next steps
Section titled “Next steps”- Put the instance behind HTTPS and set up backups: Self-hosting with Docker Compose.
- Invite your team and decide who can manage mailboxes: Workspaces and access.
- Explore the API: API overview and the endpoint reference.