|
|
3 dagar sedan | |
|---|---|---|
| .codeql | 3 månader sedan | |
| .github | 2 månader sedan | |
| backend | 2 månader sedan | |
| deploy | 3 månader sedan | |
| docs | 2 månader sedan | |
| frontend | 2 månader sedan | |
| icons | 3 månader sedan | |
| install | 2 månader sedan | |
| logs | 3 dagar sedan | |
| screenshots | 3 dagar sedan | |
| scripts | 2 månader sedan | |
| spoolbuddy | 2 månader sedan | |
| static | 2 månader sedan | |
| tests | 3 månader sedan | |
| .coverage | 5 månader sedan | |
| .dockerignore | 5 månader sedan | |
| .env.example | 3 månader sedan | |
| .gitattributes | 2 månader sedan | |
| .gitignore | 2 månader sedan | |
| .pre-commit-config.yaml | 3 månader sedan | |
| .trivyignore | 2 månader sedan | |
| CHANGELOG.md | 2 månader sedan | |
| CODE_OF_CONDUCT.md | 4 månader sedan | |
| CONTRIBUTING.md | 2 månader sedan | |
| DOCKERHUB.md | 2 månader sedan | |
| Dockerfile | 2 månader sedan | |
| Dockerfile.test | 3 månader sedan | |
| LICENSE | 2 månader sedan | |
| README.md | 2 månader sedan | |
| SECURITY.md | 3 månader sedan | |
| build_docker.sh | 5 månader sedan | |
| docker-compose.test.yml | 3 månader sedan | |
| docker-compose.yml | 2 månader sedan | |
| docker-publish-beta.sh | 3 månader sedan | |
| docker-publish-daily-beta.sh | 2 månader sedan | |
| docker-publish.sh | 3 månader sedan | |
| pyproject.toml | 2 månader sedan | |
| requirements-dev.txt | 2 månader sedan | |
| requirements.txt | 2 månader sedan | |
| test_all.sh | 3 månader sedan | |
| test_backend.sh | 2 månader sedan | |
| test_docker.sh | 3 månader sedan | |
| test_frontend.sh | 3 månader sedan | |
| test_security.sh | 3 månader sedan | |
| update_website_wiki.sh | 3 månader sedan |
Self-hosted print archive and management system for Bambu Lab 3D printers
Features • Screenshots • Quick Start • Documentation • Discord • Contributing
Print from anywhere in the world — Bambuddy's new Proxy Mode acts as a secure relay between your slicer and printer:
Perfect for remote print farms, traveling makers, or accessing your home printer from work.
| ### 📦 Print Archive - Automatic 3MF archiving with metadata - 3D model preview (Three.js) - Duplicate detection & full-text search - Photo attachments & failure analysis - Timelapse editor (trim, speed, music) with automatic AVI-to-MP4 conversion for P1-series printers, manual upload & remove - Re-print to any connected printer with AMS mapping (auto-match or manual slot selection, multi-plate support, nozzle-aware matching for dual-nozzle H2D/H2D Pro) - Plate thumbnail browsing for multi-plate archives (hover to navigate between plates) - Archive comparison (side-by-side diff) - Tag management (rename/delete across all archives) - **Print Log** — Chronological table view of all print activity with columns for date/time, print name, printer, user, status, duration, and filament. Filterable by search, printer, user, status, and date range. Pagination with configurable page size. Clear button removes log entries without affecting archives. ### 📊 Monitoring & Control - Real-time printer status via WebSocket - Live camera streaming (MJPEG) & snapshots with multi-viewer support - **Streaming overlay for OBS** - Embeddable page with camera + status for live streaming (`/overlay/:printerId`), configurable FPS (`?fps=30`), status-only mode (`?camera=false`) - External camera support (MJPEG, RTSP, HTTP snapshot, USB/V4L2) with layer-based timelapse - **Build plate empty detection** - Auto-pause print if objects detected on plate (multi-reference calibration, ROI adjustment) - Fan status monitoring (part cooling, auxiliary, chamber) - Printer control (stop, pause, resume, chamber light, print speed) - Resizable printer cards (S/M/L/XL) - Skip objects during print - AMS slot RFID re-read - AMS slot configuration (model-filtered presets, K profiles, color picker, pre-population for configured slots) - AMS info card (hover for serial number, firmware version) with custom friendly names that persist across printers - **AMS remote drying** — Start, monitor, and stop drying sessions for AMS 2 Pro and AMS-HT directly from the Printers page with filament-based temperature/duration presets, optional spool rotation; automatic PSU detection and HMS power error reporting - **Queue auto-drying** — Automatically dry filament between scheduled prints when humidity exceeds threshold; configurable presets per filament type, optional blocking mode - **Ambient drying** — Automatically keep filament dry on idle printers based on humidity, regardless of whether prints are queued - Configurable drying presets per filament type (temperature & duration for AMS 2 Pro and AMS-HT) - Dual external spool support for H2D (Ext-L / Ext-R) - HMS error monitoring with history and clear errors - Print success rates & trends - Filament usage tracking - Cost analytics & failure analysis - CSV/Excel export ### ⏰ Scheduling & Automation - **Background print dispatch** — FTP uploads and print-start commands run in the background with real-time WebSocket progress toasts (per-job upload bars, status badges, cancel button) - Print queue with drag-and-drop - Multi-printer selection (send to multiple printers at once) - Model-based queue assignment (send to "any X1C" for load balancing) with location filtering - Filament override for model-based queue (swap filament colors/types before scheduling) - Filament validation (only assign to printers with required filaments) - Per-printer AMS mapping (individual slot configuration for print farms) - Scheduled prints (date/time) - Queue Only mode (stage without auto-start) - Clear plate confirmation between queued prints - Smart plug integration (Tasmota, Home Assistant, MQTT) - MQTT smart plugs: Subscribe to Zigbee2MQTT, Shelly, or any MQTT topic for energy monitoring - Energy consumption tracking (per-print kWh and cost) - HA energy sensor support (for plugs with separate power/energy sensors) - Auto power-on before print - Auto power-off after cooldown ### 📁 File Manager (Library) - Upload and organize sliced files (3MF, gcode, STL) - **External folder mounting** - Mount host directories (NAS, USB, network shares) without copying files - **STL thumbnail generation** - Auto-generate previews for STL files on upload or batch generate for existing files - ZIP file extraction with folder structure preservation - Option to create folder from ZIP filename - Folder structure with drag-and-drop - Rename files and folders via context menu - Print directly to any printer with full options - Add to queue without creating archive upfront - Plate selection for multi-plate 3MF files - Duplicate detection via file hash - Mobile-friendly with always-visible action buttons ### 📁 Projects - Group related prints (e.g., "Voron Build") - Track plates (print jobs) and parts separately - Auto-detect parts count from 3MF files - Color-coded project badges - Bulk assign archives via multi-select toolbar - Import/Export projects as ZIP (includes files) or JSON | ### 🔔 Notifications - WhatsApp, Telegram, Discord - Email, Pushover, ntfy - Home Assistant persistent notifications - Custom webhooks - Quiet hours & daily digest - Customizable message templates with per-filament usage details - Print finish photo URL in notifications - Filament usage and progress in failed/cancelled print notifications - **Missing spool assignment warning** — Toast and push notification when a print starts with unassigned AMS trays - HMS error alerts (AMS, nozzle, etc.) - Build plate detection alerts - First layer complete alert (with camera snapshot) - Bed cooled alerts (configurable threshold) - Queue events (waiting, skipped, failed) ### 🧵 Spool Inventory - Built-in spool inventory with AMS slot assignment, usage tracking, and remaining weight management - Automatic filament consumption tracking: 3MF slicer estimates for all spools (primary), AMS remain% delta as fallback - Mid-print spool reassignment support: uses live assignment if changed during print, snapshot otherwise - Per-layer gcode accuracy for partial prints (failed/cancelled), with linear scaling fallback - **Per-spool cost tracking** — Set cost/kg on each spool; costs are automatically calculated at print completion and aggregated to archives. Print modal shows real-time cost preview. Configurable default cost and currency in Settings. - **Bulk spool addition** — Add multiple identical spools at once (quantity 1–100) with a single form submission. Quick Add mode for stock spools that only need material, color, and weight. - Spool catalog, color catalog, PA profile matching, and low-stock alerts ### 🔧 Integrations - [Spoolman](https://github.com/Donkie/Spoolman) filament sync with per-filament usage tracking and fill level display - MQTT publishing for Home Assistant, Node-RED, etc. - **Prometheus metrics** - Export printer telemetry for Grafana dashboards - Bambu Cloud profile management - **Local Profiles** - Import OrcaSlicer presets (`.orca_filament`, `.bbscfg`, `.bbsflmt`, `.zip`, `.json`) without Bambu Cloud - K-profiles (pressure advance) - **GitHub backup** - Schedule automatic backups of cloud profiles, k profiles and settings to GitHub - External sidebar links - Webhooks & API keys - Interactive API browser with live testing ### 🖨️ Virtual Printer & Remote Printing - **🌐 Proxy Mode (NEW!)** — Print remotely from anywhere via secure TLS relay - Emulates a Bambu Lab printer on your network - Send prints directly from Bambu Studio/Orca Slicer - Configurable printer model (X1C, P1S, A1, H2D, etc.) - Archive mode, Review mode, Queue mode, or Proxy mode - SSDP discovery (same LAN) or manual IP entry (VPN/remote) - Network interface override for multi-NIC/Docker/VPN setups - Secure TLS/MQTT/FTP communication ### 🛠️ Maintenance & Support - Maintenance scheduling & tracking - Interval reminders (hours/days) - Print time accuracy stats - File manager for printer storage - Firmware update helper with version badge (LAN-only printers) - Debug logging toggle with live indicator - Live application log viewer with filtering - Support bundle generator with comprehensive diagnostics (privacy-filtered) - **In-app bug reporting** — Submit bug reports directly from the UI with optional screenshot (upload, paste, or drag & drop), interactive debug log capture (start logging, reproduce at your own pace, stop & submit), and system info. Reports create GitHub issues via a secure relay. Privacy-first: all logs are sanitized and sensitive data (IPs, serials, credentials) is never included. ### 🔒 Optional Authentication - Enable/disable authentication any time - Group-based permissions (80+ granular permissions) - Default groups: Administrators, Operators, Viewers - JWT tokens with secure password hashing - Comprehensive API protection (200+ endpoints secured) - User management (create, edit, delete, groups) - User activity tracking (who uploaded archives, library files, queued prints, started prints) - **Per-user Bambu Cloud accounts** — Each user has their own independent Cloud login for profiles - **Advanced Auth via Email** — SMTP integration for automated user onboarding and self-service password resets - Admin creates users with email — system sends secure random password automatically - Users can reset their own password from the login screen (no admin needed) - Customizable email templates (welcome email, password reset) - **Per-user email notifications** — Users receive email alerts for their own print jobs (start, complete, failed, stopped) with individual toggle controls |
Plus: Configurable slicer (Bambu Studio / OrcaSlicer) • Customizable themes (style, background, accent) • Mobile responsive • Keyboard shortcuts • Multi-language (EN/DE/JA/IT) • Auto updates • Database backup/restore • System info dashboard
Click to watch the demo on YouTube
Real-time printer monitoring with AMS status
Print archive with 3D preview and project assignment
Re-print with AMS filament mapping preview
Built-in timelapse editor with trim, speed, and music
Group related prints into projects
Project detail view with assigned archives
Project timeline and print history
Print scheduling and queue management
Schedule prints for specific date and time
Customizable statistics dashboard
Maintenance tracking per printer
Configure maintenance types and intervals
Pressure advance (K-factor) profiles
Edit K-factor profile settings
General configuration and integrations
Smart plug control and energy monitoring
Multi-provider notification system
API keys and webhook endpoints
Virtual printer appears in Bambu Studio/Orca Slicer
Option A: Pre-built image (fastest)
mkdir bambuddy && cd bambuddy
curl -O https://raw.githubusercontent.com/maziggy/bambuddy/main/docker-compose.yml
docker compose up -d
Option B: Build from source
git clone https://github.com/maziggy/bambuddy.git
cd bambuddy
docker compose up -d --build
Open http://localhost:8000 in your browser.
Multi-architecture support: Pre-built images are available for
linux/amd64andlinux/arm64(Raspberry Pi 4/5).macOS/Windows users: Docker Desktop doesn't support
network_mode: host. Edit docker-compose.yml: comment outnetwork_mode: hostand uncomment theports:section. Printer discovery won't work - add printers manually by IP.Linux users: If you get "permission denied" errors, either prefix commands with
sudo(e.g.,sudo docker compose up -d) or add your user to the docker group.
# Clone and setup
git clone https://github.com/maziggy/bambuddy.git
cd bambuddy
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Run
uvicorn backend.app.main:app --host 0.0.0.0 --port 8000
Open http://localhost:8000 and add your printer!
Need detailed instructions? See the Installation Guide
Developer Mode allows third-party software like Bambuddy to control your printer over the local network.
Note: Developer Mode disables cloud features but provides full local control. Standard LAN Mode (without Developer Mode) only allows read-only monitoring.
In Bambu Studio or OrcaSlicer, enable "Store sent files on external storage" so that print files (3MF) are saved to the printer's SD card. Bambuddy needs these files to extract thumbnails and 3D model previews.
Full documentation available at wiki.bambuddy.cool:
| Series | Models |
|---|---|
| X1 | X1, X1 Carbon, X1E |
| H2 | H2D, H2D Pro, H2C, H2S |
| P1 | P1P, P1S |
| P2 | P2S |
| A1 | A1, A1 Mini |
| Component | Technology |
|---|---|
| Backend | Python, FastAPI, SQLAlchemy |
| Frontend | React, TypeScript, Tailwind CSS |
| Database | SQLite |
| 3D Viewer | Three.js |
| Communication | MQTT (TLS), FTPS |
Contributions welcome! Here's how to help:
Document — Improve wiki and guides
# Development setup
git clone https://github.com/maziggy/bambuddy.git
cd bambuddy
# Backend
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
DEBUG=true uvicorn backend.app.main:app --reload
# Frontend (separate terminal)
cd frontend && npm install && npm run dev
See CONTRIBUTING.md for guidelines.
AGPL-3.0 License — see LICENSE for details.
If you like Bambuddy and want to support it, you can buy Martin a coffee.
Made with ❤️ for the 3D printing community
Join our Discord •
Report Bug •
Request Feature •
Documentation