Step 1
Before you start
You need Docker on a computer or NAS that can reach Bambuddy. The image supports common Intel/AMD and ARM64 Synology models.
- In Bambuddy, create an API key with Read Status and Manage Inventory permissions.
- In Meldsy, open Connections, then Bambuddy, and create a connection key.

Create the Meldsy connection only after the Bambuddy API key is ready; keep both credentials private. - Copy the connection ID and one-time connection key.
- Find Bambuddy’s local URL, such as http://192.168.1.50:8000.
Step 2
Option A: Docker Compose
Replace the four example values with your own. On Synology, create a Project in Container Manager and use this as compose.yml.
services:
meldsy-bambuddy-bridge:
image: ghcr.io/meldsy/meldsy-bambuddy-bridge:latest
container_name: meldsy-bambuddy-bridge
restart: unless-stopped
init: true
read_only: true
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
environment:
BAMBUDDY_BASE_URL: "http://192.168.1.50:8000"
BAMBUDDY_API_KEY: "paste-your-bambuddy-api-key"
MELDSY_CONNECTION_ID: "paste-your-meldsy-connection-id"
MELDSY_CONNECTION_SECRET: "paste-your-meldsy-connection-key"Option B: Regular Docker
Run this from an SSH terminal on Synology or another Docker host. Keep the command and its keys private.
docker run -d \
--name meldsy-bambuddy-bridge \
--restart unless-stopped \
--init \
--read-only \
--cap-drop ALL \
--security-opt no-new-privileges=true \
--env BAMBUDDY_BASE_URL="http://192.168.1.50:8000" \
--env BAMBUDDY_API_KEY="paste-your-bambuddy-api-key" \
--env MELDSY_CONNECTION_ID="paste-your-meldsy-connection-id" \
--env MELDSY_CONNECTION_SECRET="paste-your-meldsy-connection-key" \
ghcr.io/meldsy/meldsy-bambuddy-bridge:latestStep 3
Confirm the first sync
The first sync starts when the container starts. Run the log command and look for an event named sync_succeeded. Then open Materials and filter by Synced filament.
docker logs -f meldsy-bambuddy-bridgeRotate or revoke a connection key
Rotate the key when you need to replace the bridge credential without rebuilding the connection. Meldsy shows the replacement only once and keeps the old key working for a five-minute grace period so you can update the container.
- Copy the new key immediately and update the running bridge.
- Revoke connection stops bridge access while retaining the last snapshot and existing mappings.
- After revoking, create a new connection key when you are ready to reconnect.
Read bridge status and update notices
Connected means the latest snapshot is current. Sync overdue, offline, error, or revoked states keep the last synced values visible for reference but require the bridge or connection to be checked.
- Use Refresh to request the latest connection status.
- An older bridge can sync basic filament amounts while lacking newer spool-cost, add-spool, or immediate-update capabilities.
- When Meldsy asks for a bridge update, pull the latest image and recreate the container with the same private configuration.
Know the current boundary
Bambuddy remains the source of truth for spool weight, cost, and spool details. The bridge supports Bambuddy’s built-in inventory; Spoolman-backed Bambuddy inventory is not currently supported.
Troubleshoot the bridge
Nothing appears in Meldsy
Run docker logs --tail 100 meldsy-bambuddy-bridge and look for sync_succeeded.
Bambuddy cannot be reached
Check the local IP and port in BAMBUDDY_BASE_URL. Do not use localhost when Bambuddy runs elsewhere.
The log shows HTTP 401
Check the Bambuddy API key permissions and confirm the Meldsy connection ID and key came from the same connection.
The container stops immediately
Run docker logs meldsy-bambuddy-bridge. An invalid_configuration event usually means a required value is missing or copied incorrectly.