1
Requirements
Before you start, make sure you have these at hand. The whole flow happens from the terminal of your homelab.
Docker Engine 24+ with Docker Compose v2
A domain managed in Cloudflare (active nameservers)
Email Routing enabled on the zone
A Cloudflare API token with the three scopes
A verified destination address — you can also add it from the panel later
2
Download & configure
$ mkdir vuzon && cd vuzon
$ curl -fsSL -O https://raw.githubusercontent.com/KN990x/vuzon/main/docker-compose.yml \
-O https://raw.githubusercontent.com/KN990x/vuzon/main/.env.example
$ cp .env.example .envCopy .env.example to.env and fill in your values:
# The email domain you manage in Cloudflare
DOMAIN=yourdomain.com
# Cloudflare API token — three scopes, see the docs
CF_API_TOKEN=cf_xxxxxxxxxxxxxxxx3
Launch the panel
One command pulls the image and starts the panel. On startup vuzon talks to the Cloudflare API, verifies your token and resolves the zone and account from DOMAIN.
Note:
CF_API_TOKEN needs exactly three scopes — Email Routing Addresses: Edit, Email Routing Rules: Edit and Zone: Read. See API token.$ docker compose pull && docker compose up -d✓ Resolving zone from DOMAIN...
✓ Cloudflare token verified
✓ vuzon listening at http://localhost:8001
4
Verify it works
Open http://localhost:8001 and finish the setup wizard — the first visit asks you to choose a username and a password. Then create your first alias and send it a test email; watch it arrive in the log:
$ docker compose logs -f vuzonYour mailbox is ready!
From here everything is managed from the panel: aliases, destinations and catch-all.