Install

Install BamDude

Four paths - Docker, Docker Compose, a native Windows installer, or manual Python - plus first login and bot setup.

Before you start

  • A Bambu Lab printer with Developer Mode + LAN-Only Mode enabled (Settings → Network).
  • The printer's IP address and Access Code (Settings → Network and Settings → Information).
  • A Linux box, Raspberry Pi, NAS, or any Docker-capable host on the same network as the printer.
  • Optional: a Telegram bot token from @BotFather if you want bot integration from day one.
Step 1

Run with Docker

The fastest path. Single container, SQLite by default, persistent volumes.

docker run -d \
  --name bamdude \
  --network host \
  -e TZ=Europe/Kyiv \
  -v bamdude_data:/app/data \
  -v bamdude_logs:/app/logs \
  --restart unless-stopped \
  kainpl/bamdude:latest
  • --network host makes printer SSDP auto-discovery work; on macOS / Windows Docker Desktop swap it for -p 8000:8000 and add printers manually by IP.
  • Two volumes: bamdude_data (SQLite + 3MFs + thumbnails) and bamdude_logs. Keep them - they hold every print you've ever done.
Step 2

Docker Compose (from source)

Build the image yourself, easier to extend.

git clone https://github.com/kainpl/bamdude.git
cd bamdude
docker compose up -d --build
  • Uses the docker-compose.yml shipped in the repo. Edit it to add Postgres, MQTT, or Spoolman as siblings.
  • Subsequent rebuilds: docker compose pull && docker compose up -d --build.
Step 3

Windows installer (.exe)

No Python or Node — one self-contained setup for Windows.

Download bamdude-windows-x64-setup.exe and run it. It bundles an embedded Python, the pre-built frontend and ffmpeg, installs to C:\Program Files\BamDude, keeps your data and logs in C:\ProgramData\BamDude, and registers BamDude as a Windows Service that serves http://localhost:8000 on boot. A Start Menu shortcut opens the web UI.

  • To update, download the newer installer and re-run it — your data, settings and printers are preserved.
Step 4

Manual install (Python venv)

For developers or environments where Docker is not an option.

git clone https://github.com/kainpl/bamdude.git
cd bamdude
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
uvicorn backend.app.main:app --host 0.0.0.0 --port 8000
  • Python 3.12+ (only for this manual route — Docker and the Windows installer bundle their own).
  • For the frontend: cd frontend && npm install && npm run dev in a second terminal.
Step 5

First login + admin setup

Open the web UI and create the initial admin.

Browse to http://localhost:8000 (or the host IP). The setup gate refuses every API call except /auth/setup until the first admin exists - pick a username, set a password (≥8 chars, upper + lower + digit), and you're in. After that the login form takes over and the gate disengages forever.

  • Forgot the admin password? python -m backend.app.cli reset_admin clears the setup flags so the next boot re-enters this flow.
  • Behind a reverse proxy? Set TRUSTED_PROXY_IPS so rate-limit and refresh-cookie code can read X-Forwarded-Proto correctly.
Step 6

Add your first printer

Auto-discovery via SSDP or paste the IP.

Settings → Printers → Add Printer. SSDP picks up Bambu printers on the same subnet automatically; otherwise paste the IP. Then enter the access code (printer screen → Settings → Information). Hit Save - BamDude opens the MQTT/FTPS connection and the dashboard starts streaming live status.

Step 7

Optional: Telegram bot

Control the farm from chat.

Create a bot via @BotFather and copy the token. Settings → Notifications → New Telegram provider → paste the token. Enable Registration Mode, send /start to your bot. Settings → Telegram Chats → assign your chat a role (Operator works for most). The reply keyboard and inline menus are now wired up.

Get started in 5 minutes

Free, open source, AGPL-3.0 licensed. No cloud lock-in. Ever.