Skip to content

Install mccb

By the end of this page mccb will be running in Docker and you will be signed in to the dashboard.

  • Docker with Compose.
  • A published image for linux/amd64 (ghcr.io/yetysw/mccb). No .env file and no build are needed.
  • Disk space for the PST files you upload, in ./data/pst/. Uploads check free space first and answer 507 when there is not enough.
Terminal window
mkdir mccb && cd mccb
curl -fsSLO https://raw.githubusercontent.com/yetysw/mccb/main/docker-compose.yml
docker compose up -d
docker compose logs web | grep -A2 "Admin password"

The compose file runs two services from the same image:

servicerole
webFastAPI API and static UI, port 22362
workerjob queue (one mailbox is one job) and validation of uploaded PSTs

Open http://<host>:22362 and sign in with the printed password. It is shown once, in the web log. Change it under Settings, or see Change or reset the admin password.

GET /api/health is public and also reports whether the worker is alive (heartbeat less than 60 s old).

Warning. Port 22362 speaks plain HTTP. Put mccb behind a reverse proxy and do not expose the port directly.

The image is tagged X.Y.Z, X.Y and latest. To pin a version, replace latest with the tag in docker-compose.yml, for example 1.1.1.

Terminal window
git clone https://github.com/yetysw/mccb.git
cd mccb
docker compose up -d --build
docker compose logs web # read the generated admin password
curl http://localhost:22362/api/health

Copy .env.example to .env and edit it. ADMIN_PASSWORD and SECRET_KEY are both optional. To generate a SECRET_KEY:

Terminal window
openssl rand -base64 32
# or: python3 -c "import secrets; print(secrets.token_urlsafe(32))"

Every variable is listed in Configuration.

All data is in ./data, mounted on /data:

  • app.db: SQLite database (WAL);
  • pst/: PST files;
  • reports/job-N.json: reports;
  • logs/job-N.log: logs;
  • admin.json: hashed admin password, generated on first start if ADMIN_PASSWORD is not set;
  • secret.key: key generated if SECRET_KEY is empty.

Back it up: see Back up and restore.