Skip to content

Integrations Overview

PrintStudio’s core platform runs independently with just Postgres and Redis. The integrations layer adds optional ecosystem services for workflow automation, print farm management, AI failure detection, and mobile operations.

All integrations are configured via the Setup Wizard or by setting environment variables in .env.

IntegrationCategoryPurpose
n8nAutomationWorkflow automation — order emails, alerts, cross-service orchestration
OpenClawAI / MobileNatural-language ops via WhatsApp, Telegram, Discord
OrcaSlicerProductionG-code generation from STL/3MF files
Moonraker/KlipperHardwareControl Klipper-based printers (Voron, custom CoreXY)
Bambu LabHardwareControl Bambu X1C, P1, A1 via MQTT LAN API
InvenTreeInventoryParts and material inventory management
StripeCommercePayments, checkout, refunds, billing

All integrations share a common IntegrationHub entry point in packages/integrations:

import { IntegrationHub } from "@printstudio/integrations";
const hub = new IntegrationHub({
n8n: { url: process.env.N8N_URL, apiKey: process.env.N8N_API_KEY },
moonraker: { url: process.env.MOONRAKER_URL },
stripe: { secretKey: process.env.STRIPE_SECRET_KEY },
// ... other integrations
});
// Health check all configured integrations
const health = await hub.healthCheckAll();

The IntegrationHub only initialises adapters for services that have the required environment variables set. Missing configuration is silently skipped — the hub operates in graceful degradation mode.

Terminal window
# Start all ecosystem services via Docker
./scripts/start-ecosystem.sh -d
# Check which services are running
docker compose -f docker-compose.yml -f docker-compose.ecosystem.yml ps
Terminal window
# n8n
N8N_URL=http://localhost:5678
N8N_API_KEY=replace-me
N8N_USER=admin
N8N_PASSWORD=printstudio
# Moonraker
MOONRAKER_URL=http://192.168.1.100:7125
MOONRAKER_API_KEY= # optional
# Bambu
BAMBU_PRINTER_IP=192.168.1.50
BAMBU_PRINTER_SN=01P00A123456789
BAMBU_ACCESS_CODE=12345678
# InvenTree
INVENTREE_URL=http://localhost:8000
INVENTREE_TOKEN=your-api-token
# OpenClaw
OPENCLAW_URL=http://localhost:18789
OPENCLAW_TOKEN=replace-me
# Stripe (see stripe page for full list)
STRIPE_SECRET_KEY=sk_live_...
ConfigurationRAMDisk
Core only (Postgres + Redis)2 GB2 GB
+ n8n2.5 GB2.5 GB
+ FDM Monster + MongoDB3 GB3 GB
Full ecosystem (all services)8 GB10 GB