mirror of
https://github.com/RunLit/Bambu-Run.git
synced 2026-06-22 14:09:04 +01:00
updated docker set up instructions with bambu cloud login and docker file skip unused opencv for bambu cloud api
This commit is contained in:
15
.env.example
15
.env.example
@@ -1,14 +1,17 @@
|
|||||||
# Bambu Run Configuration
|
# Bambu Run Configuration
|
||||||
# Copy this file to .env and fill in your values
|
# Copy this file to .env and fill in your values
|
||||||
|
|
||||||
# Required: Your Bambu Lab printer's local IP address
|
# Required: Your Bambu Lab account credentials (same as Bambu Handy / Bambu Studio login)
|
||||||
PRINTER_IP=192.168.1.xxx
|
BAMBU_USERNAME=your_email@example.com
|
||||||
|
BAMBU_PASSWORD=your_password
|
||||||
|
|
||||||
# Required: Your printer's access token (found in printer settings)
|
# Optional: Authentication token (auto-saved after first login, skip manual auth next time)
|
||||||
ACCESS_TOKEN=your_access_token_here
|
# After first-time authentication (Step 5a), paste your token here so future
|
||||||
|
# container restarts won't require email verification again.
|
||||||
|
# BAMBU_TOKEN=
|
||||||
|
|
||||||
# Required: Your printer's serial number (found in Settings > Device Info)
|
# Optional: Device ID (auto-detected if you only have one printer)
|
||||||
PRINTER_SERIAL=your_serial_number
|
# BAMBU_DEVICE_ID=
|
||||||
|
|
||||||
# Optional: Timezone (default: UTC)
|
# Optional: Timezone (default: UTC)
|
||||||
# TIMEZONE=Australia/Melbourne
|
# TIMEZONE=Australia/Melbourne
|
||||||
|
|||||||
@@ -10,7 +10,11 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
supervisor \
|
supervisor \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Install Python dependencies
|
# Install bambu-lab-cloud-api without deps (opencv-python is declared but unused at runtime)
|
||||||
|
RUN pip install --no-cache-dir bambu-lab-cloud-api --no-deps && \
|
||||||
|
pip install --no-cache-dir paho-mqtt requests flask flask-cors flask-limiter
|
||||||
|
|
||||||
|
# Install project and remaining dependencies
|
||||||
COPY pyproject.toml .
|
COPY pyproject.toml .
|
||||||
RUN pip install --no-cache-dir ".[standalone]"
|
RUN pip install --no-cache-dir ".[standalone]"
|
||||||
|
|
||||||
|
|||||||
105
README.md
105
README.md
@@ -1,8 +1,15 @@
|
|||||||
# Bambu-Run
|
# Bambu-Run
|
||||||
|
|
||||||
Unlock deeper control, richer data access, and powerful customization capabilities for your Bambu Lab 3D printer.
|
Unlock richer data access and powerful customization capabilities for your Bambu Lab 3D printer.
|
||||||
|
|
||||||
Bambu-Run is a self-hosted web dashboard that connects to your Bambu Lab printer over your local network via MQTT. It gives you real-time monitoring (temperatures, fan speeds, print progress) and a full filament inventory system — all running on hardware you own.
|
Bambu-Run is a self-hosted web dashboard that tracks data of your Bambu Lab printer. It gives you:
|
||||||
|
- Real-time monitoring and logging (temperatures, fan speeds, print progress etc)
|
||||||
|
- Automatic filament inventory tracking and usage monitoring system (AMS required)
|
||||||
|
all running on hardware you own.
|
||||||
|
|
||||||
|
### Hardware Requirement
|
||||||
|
|
||||||
|
Recommend a raspberry pi, installed with Raspberry Pi OS (low cost running at the background) or an old PC/Laptop you probably never going to use again (install Linux).
|
||||||
|
|
||||||
## Getting Started (Beginner Friendly)
|
## Getting Started (Beginner Friendly)
|
||||||
|
|
||||||
@@ -15,23 +22,15 @@ This guide walks you through setting up Bambu-Run on a **Raspberry Pi** from scr
|
|||||||
- Your printer's **IP address**, **access token**, and **serial number** (we'll show you how to find these below)
|
- Your printer's **IP address**, **access token**, and **serial number** (we'll show you how to find these below)
|
||||||
- A computer on the same network to SSH into the Pi
|
- A computer on the same network to SSH into the Pi
|
||||||
|
|
||||||
### Step 1: Find Your Printer's Connection Details
|
### Step 1: Find Your Bambu Lab Account Credentials
|
||||||
|
|
||||||
You'll need three pieces of information from your printer. Here's how to find them:
|
Bambu-Run connects to your printer through the **Bambu Lab Cloud** using your account login — the same email and password you use for Bambu Handy or Bambu Studio.
|
||||||
|
|
||||||
**IP Address:**
|
You'll need:
|
||||||
1. On your printer's touchscreen, go to **Settings** (gear icon)
|
- **BAMBU_USERNAME** — Your Bambu Lab account email
|
||||||
2. Tap **Network** — your IP address is shown (e.g. `192.168.1.42`)
|
- **BAMBU_PASSWORD** — Your Bambu Lab account password
|
||||||
|
|
||||||
**Access Token:**
|
> **First-time login requires email verification.** Bambu Lab will send a 6-digit code to your email. You'll enter this code during Step 5a below. After that, you'll receive a token that skips verification on future startups.
|
||||||
1. On the touchscreen, go to **Settings**
|
|
||||||
2. Tap **General** > **Access Code** — note down the 8-character code
|
|
||||||
|
|
||||||
**Serial Number:**
|
|
||||||
1. On the touchscreen, go to **Settings**
|
|
||||||
2. Tap **Device Info** — the serial number is listed at the top
|
|
||||||
|
|
||||||
Write all three down. You'll need them in Step 4.
|
|
||||||
|
|
||||||
### Step 2: Connect to Your Raspberry Pi
|
### Step 2: Connect to Your Raspberry Pi
|
||||||
|
|
||||||
@@ -58,6 +57,7 @@ curl -fsSL https://get.docker.com | sudo sh
|
|||||||
# Let your user run Docker without sudo
|
# Let your user run Docker without sudo
|
||||||
sudo usermod -aG docker $USER
|
sudo usermod -aG docker $USER
|
||||||
```
|
```
|
||||||
|
Installation issue? check installation methods for raspberry pi: https://docs.docker.com/engine/install/raspberry-pi-os/#installation-methods
|
||||||
|
|
||||||
**Important:** Log out and log back in for the group change to take effect:
|
**Important:** Log out and log back in for the group change to take effect:
|
||||||
|
|
||||||
@@ -96,12 +96,11 @@ Now edit the `.env` file with your printer details:
|
|||||||
nano .env
|
nano .env
|
||||||
```
|
```
|
||||||
|
|
||||||
Fill in the three values you noted in Step 1:
|
Fill in your Bambu Lab account credentials from Step 1:
|
||||||
|
|
||||||
```
|
```
|
||||||
PRINTER_IP=192.168.1.42
|
BAMBU_USERNAME=your_email@example.com
|
||||||
ACCESS_TOKEN=your8char
|
BAMBU_PASSWORD=your_password
|
||||||
PRINTER_SERIAL=01P00A000000000
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Optionally set your timezone (defaults to UTC):
|
Optionally set your timezone (defaults to UTC):
|
||||||
@@ -114,17 +113,63 @@ TIMEZONE=Australia/Melbourne
|
|||||||
|
|
||||||
To save and exit nano: press `Ctrl + X`, then `Y`, then `Enter`.
|
To save and exit nano: press `Ctrl + X`, then `Y`, then `Enter`.
|
||||||
|
|
||||||
### Step 5: Start Bambu-Run
|
### Step 5: Build and Start Bambu-Run
|
||||||
|
|
||||||
|
First, build the container:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose build
|
||||||
|
```
|
||||||
|
|
||||||
|
This downloads all required software (takes a few minutes the first time).
|
||||||
|
|
||||||
|
### Step 5a: First-Time Authentication
|
||||||
|
|
||||||
|
The first time you connect, Bambu Lab requires email verification. You need to run the collector **interactively** (not in the background) so you can enter the 6-digit code:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose run --rm bambu-run python standalone/manage.py bambu_collector --once
|
||||||
|
```
|
||||||
|
|
||||||
|
You'll see output like:
|
||||||
|
|
||||||
|
```
|
||||||
|
BambuLab Authentication
|
||||||
|
Authenticating as: your_email@example.com
|
||||||
|
...
|
||||||
|
EMAIL VERIFICATION REQUIRED
|
||||||
|
A verification code has been sent to your email.
|
||||||
|
Enter verification code:
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Check your email for the 6-digit code from Bambu Lab
|
||||||
|
2. Type the code and press Enter
|
||||||
|
3. On success, you'll see a token printed:
|
||||||
|
```
|
||||||
|
Authentication successful!
|
||||||
|
Token: eyJhbGciOiJIUzI1N...
|
||||||
|
TIP: Save this token to BAMBU_TOKEN env var to skip login next time
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **Copy the full token** and paste it into your `.env` file:
|
||||||
|
```bash
|
||||||
|
nano .env
|
||||||
|
```
|
||||||
|
Add/uncomment the `BAMBU_TOKEN` line:
|
||||||
|
```
|
||||||
|
BAMBU_TOKEN=eyJhbGciOiJIUzI1N...paste_full_token_here
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Why save the token?** With the token saved, future container restarts authenticate instantly without needing email verification again. Without it, you'd need to repeat this step every time the container restarts.
|
||||||
|
|
||||||
|
### Step 5b: Start Bambu-Run
|
||||||
|
|
||||||
|
Now start everything in the background:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
This will:
|
|
||||||
- Download all required software automatically (takes a few minutes the first time)
|
|
||||||
- Set up the database
|
|
||||||
- Start the web dashboard and printer data collector in the background
|
|
||||||
|
|
||||||
Check that it's running:
|
Check that it's running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -156,9 +201,13 @@ Log in with the account you just created. You should see your printer dashboard
|
|||||||
### Troubleshooting
|
### Troubleshooting
|
||||||
|
|
||||||
**"Cannot connect to printer" or no data showing:**
|
**"Cannot connect to printer" or no data showing:**
|
||||||
- Make sure your printer is turned on and connected to the same network
|
- Make sure your printer is turned on and connected to the network
|
||||||
- Double-check the IP address, access token, and serial number in your `.env` file
|
|
||||||
- Check the logs: `docker compose logs -f`
|
- Check the logs: `docker compose logs -f`
|
||||||
|
- If you see authentication errors, your token may have expired — re-run Step 5a to get a fresh token
|
||||||
|
|
||||||
|
**"Verification code" or "401 Unauthorized" errors:**
|
||||||
|
- Your `BAMBU_TOKEN` may have expired. Remove it from `.env` and re-run Step 5a
|
||||||
|
- Make sure `BAMBU_USERNAME` and `BAMBU_PASSWORD` are correct in your `.env` file
|
||||||
|
|
||||||
**"Cannot connect to Docker daemon":**
|
**"Cannot connect to Docker daemon":**
|
||||||
- Did you log out and back in after Step 3? Docker group changes require a new session
|
- Did you log out and back in after Step 3? Docker group changes require a new session
|
||||||
|
|||||||
Reference in New Issue
Block a user