One command. Sixty seconds.
Prefer to watch instead of read? @Help3d walks through the entire setup from a fresh Raspberry Pi to printing through virtual printers — Tailscale HTTPS, SSH, install, virtual printers, and certificate import all in one go.
Video by @Help3d · covers Pi setup, SSH, install, Tailscale HTTPS, virtual printers, and certificate import
Paste one command into a terminal. Docker is recommended — native works too.
The easiest way to get started on Linux or macOS with Docker installed. Windows users should jump to the Docker Compose setup below — it runs on PowerShell without any extra tooling.
curl -fsSL https://raw.githubusercontent.com/maziggy/bambuddy/main/install/docker-install.sh -o docker-install.sh && chmod +x docker-install.sh && ./docker-install.sh
Installs with Python virtual environment and systemd/launchd service.
curl -fsSL https://raw.githubusercontent.com/maziggy/bambuddy/main/install/install.sh -o install.sh && chmod +x install.sh && ./install.sh
http://<your-host>:8000 in your browser, replacing <your-host> with the IP or hostname of the machine running Bambuddy. On Linux with host networking localhost works too — but not on Docker Desktop (macOS/Windows), because the container is on the Docker VM's network, not the host's loopback.
--yes for unattended mode.
Here's what you need before or after running the install command above.
Prefer to do it yourself? Follow these steps.
Download the latest version from GitHub.
git clone https://github.com/maziggy/bambuddy.git
cd bambuddy
Set up an isolated Python environment for dependencies.
python3 -m venv venv
source venv/bin/activate
Install all required Python packages.
pip install -r requirements.txt
Launch Bambuddy with uvicorn.
uvicorn backend.app.main:app --host 0.0.0.0 --port 8000
Open your browser and navigate to Bambuddy.
http://localhost:8000
Developer Mode allows Bambuddy to control your printer directly over your local network.
On your printer's touchscreen, navigate to Settings (gear icon).
Look for Network or WLAN settings section.
Toggle LAN Only Mode to ON.
After enabling LAN Only Mode, a Developer Mode option will appear. Enable it.
An access code will be displayed. Write this down - you'll need it for Bambuddy.
Find these in the printer's network settings or device info. You'll need both to connect.
In Bambu Studio or OrcaSlicer, go to the Device tab and enable "Store sent files on external storage". This saves print files to the SD card so Bambuddy can extract thumbnails and 3D previews.
Don't see the option in the slicer? Newer firmware/slicer combos (e.g. P2S firmware 01.02.00.00 with Bambu Studio 2.6+) moved the toggle to the printer itself. On the printer, open Settings → Print Settings (or Print Options) and enable the equivalent option there.
Pre-built images available for Intel/AMD and ARM (Raspberry Pi).
linux/amd64 (Intel/AMD) and linux/arm64 (Raspberry Pi 4/5, Apple Silicon). Docker automatically pulls the right image for your system.
Prompts for configuration options and sets everything up for you. Requires a bash-compatible shell (Linux, macOS, or WSL on Windows). For native Windows, use Option B below.
curl -fsSL https://raw.githubusercontent.com/maziggy/bambuddy/main/install/docker-install.sh -o docker-install.sh && chmod +x docker-install.sh && ./docker-install.sh
No building required — just download the compose file and run. Works on any OS with Docker installed.
mkdir bambuddy && cd bambuddy
curl -O https://raw.githubusercontent.com/maziggy/bambuddy/main/docker-compose.yml
docker compose up -d
mkdir bambuddy
cd bambuddy
Invoke-WebRequest -Uri https://raw.githubusercontent.com/maziggy/bambuddy/main/docker-compose.yml -OutFile docker-compose.yml
docker compose up -d
If you want to modify the code or build locally:
git clone https://github.com/maziggy/bambuddy.git
cd bambuddy
docker compose up -d --build
network_mode: host in docker-compose.yml. Bambuddy will then let you scan your network subnet to find printers.
network_mode: host. Edit docker-compose.yml: comment out network_mode: host and uncomment the ports: section. Printer discovery won't work — add printers manually by IP address.
PORT=8080 docker compose up -d. If you get "permission denied" errors on Linux, prefix with sudo or add your user to the docker group.
The in-app Update button does not reliably perform the one-time migration from 0.2.2.x to 0.2.3. Do this one upgrade from the command line using the paths below — once you're on 0.2.3, the in-app Update button works normally again for all future releases. Full guide: UPDATING.md.
Check your image: line first — if it pins an old tag (e.g. :0.2.2.2), docker compose pull will just re-fetch that same tag. Change it to :latest or the target version.
# Pre-built image
docker compose pull && docker compose up -d
# Built from source
git pull && docker compose up -d --build
update.sh stops the service, snapshots the database, fast-forwards to the latest release, installs dependencies, rebuilds the frontend, and restarts — with automatic rollback on failure.
sudo /opt/bambuddy/install/update.sh
python3 --version to check your versionpython instead of python3Check the GitHub Issues for known problems, or open a new issue if you've found a bug.
Now that Bambuddy is running, explore the documentation to configure notifications, integrations, and more.
Bambuddy is free and will stay free. It's developed in the open and funded by people who choose to support it directly — no VC, no acquisition target. If it's earning a place on your home network, consider keeping it independent.