Add Bambuddy InvenTree sync service

This commit is contained in:
2026-04-15 13:45:55 +03:00
commit 9f3d825120
16 changed files with 1044 additions and 0 deletions

33
.env.example Normal file
View File

@@ -0,0 +1,33 @@
# Copy this file to .env and adjust values for your Windows Server.
# Bambuddy API base URL. You can use either root URL or /api/v1 URL.
BAMBUDDY_BASE_URL=http://host.docker.internal:8000/api/v1
BAMBUDDY_API_KEY=replace-with-bambuddy-api-key
# InvenTree URL. Use root URL or /api URL; the service normalizes it.
INVENTREE_BASE_URL=http://host.docker.internal:1337
INVENTREE_TOKEN=replace-with-inventree-token
# Existing InvenTree IDs where printed parts should be created/stored.
INVENTREE_PART_CATEGORY_ID=1
INVENTREE_STOCK_LOCATION_ID=1
# Optional tokens for this sync service.
# If SERVICE_API_TOKEN is set, manual sync endpoints require X-Service-Token.
SERVICE_API_TOKEN=change-me
# If WEBHOOK_SHARED_SECRET is set, Bambuddy webhook requests must send X-Sync-Secret.
WEBHOOK_SHARED_SECRET=
# Sync behavior.
SYNC_SUCCESS_ONLY=true
DEFAULT_STOCK_QUANTITY=1
INVENTREE_STOCK_STATUS=10
PART_IPN_PREFIX=BMB
PART_KEY_FIELDS=filename,name
BACKFILL_PAGE_SIZE=50
POLL_INTERVAL_SECONDS=0
SYNC_ON_STARTUP=false
HTTP_TIMEOUT_SECONDS=30
# Persistent SQLite database inside the container.
DATA_DIR=/data