Bichon Docs
# Pull the image
docker pull rustmailer/bichon:latest

# Create data directory
mkdir -p ./bichon-data

# Run container
docker run -d \
  --name bichon \
  -p 15630:15630 \
  -v $(pwd)/bichon-data:/data \
  --user 1000:1000 \
  -e BICHON_ROOT_DIR=/data \
  -e BICHON_ENCRYPT_PASSWORD=your-secure-password-here \
  rustmailer/bichon:latest

Open http://localhost:15630 in your browser.

Important: Default login: username admin, password admin@bichon. Change this immediately via Settings → Profile.

Tip: If the page loads but shows a 503 maintenance screen, the server failed a startup pre-check and is waiting for you to fix it — the container stays up on purpose so you can docker exec -it <bichon-container> bichon-admin into it. Follow the steps on the page; see Migration & Upgrade and the FAQ for details.

Docker Compose

services:
  bichon:
    image: rustmailer/bichon:latest
    container_name: bichon
    ports:
      - "15630:15630"
    volumes:
      - ./bichon-data:/data
    user: "1000:1000"
    environment:
      BICHON_ROOT_DIR: /data
      BICHON_ENCRYPT_PASSWORD: your-secure-password-here
      BICHON_LOG_LEVEL: info

Binary Installation

Download from the Releases page:

PlatformArchive
Linux (GNU)bichon-x.x.x-x86_64-unknown-linux-gnu.tar.gz
Linux (MUSL)bichon-x.x.x-x86_64-unknown-linux-musl.tar.gz
macOSbichon-x.x.x-x86_64-apple-darwin.tar.gz
Windowsbichon-x.x.x-x86_64-pc-windows-msvc.zip
# Linux / macOS
./bichon --bichon-root-dir /path/to/data --bichon-encrypt-password your-password

# Windows
.\bichon.exe --bichon-root-dir E:\bichon-data --bichon-encrypt-password your-password

--bichon-root-dir must be an absolute path. All Bichon data lives under this directory.

Build from Source

Prerequisites: Rust (latest stable), Node.js 20+, pnpm

git clone https://github.com/rustmailer/bichon.git
cd bichon

# Build and run — frontend dependencies are installed and built automatically via build.rs
export BICHON_ENCRYPT_PASSWORD=dev-password
cargo run -- --bichon-root-dir /tmp/bichon-data

For frontend development:

cd web && pnpm run dev   # Vite dev server with API proxy to Rust backend

On this page