Skip to content

Quick Start

This guide gets the full PrintStudio stack running on your machine. You’ll need Docker and Bun installed.

  • Docker Desktop 24+ (or Docker Engine + Compose v2)
  • Bun 1.3+ — curl -fsSL https://bun.sh/install | bash
  • Node.js 20+ (for some ecosystem tooling)
  • 4 GB free RAM (8 GB recommended for full ecosystem)
Terminal window
git clone https://github.com/your-org/printstudio
cd printstudio
cp .env.example .env
bun install

Edit .env and set at minimum:

Terminal window
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/printstudio
REDIS_URL=redis://localhost:6379
STRIPE_SECRET_KEY=sk_test_... # Get from Stripe dashboard
Terminal window
# Core only: Postgres + Redis
./scripts/start-dev.sh -d
# OR full ecosystem: adds n8n, FDM Monster, Obico, Grafana
./scripts/start-ecosystem.sh -d
Terminal window
bun run db:migrate
bun run db:seed # optional — loads sample SKUs, printers, and orders
Terminal window
bun run --filter @printstudio/print-ops-api dev
# or: cd apps/print-ops-api && bun dev

The API starts on port 8787.

Terminal window
bun run --filter @printstudio/web dev
# or: cd apps/web && bun dev

The storefront and operator dashboard start on port 4321.

The plant agent runs on the same LAN as printers and handles direct machine communication:

Terminal window
bun run --filter @printstudio/plant-agent dev
# Starts on port 8788
ServiceURLPurpose
Storefronthttp://localhost:4321Customer-facing product configurator
Operator Dashboardhttp://localhost:4321/dashboardJob board, printer status, analytics
Setup Wizardhttp://localhost:4321/setupFirst-run configuration
REST APIhttp://localhost:8787All backend operations
API Docs (Scalar)http://localhost:8787/docsInteractive API explorer
Plant Agenthttp://localhost:8788LAN printer control
n8nhttp://localhost:5678Workflow automation (ecosystem)
Grafanahttp://localhost:3000Metrics dashboards (ecosystem)

To run all apps simultaneously in development:

Terminal window
bun run dev
# Turborepo starts all apps in parallel
Terminal window
# Health check
curl http://localhost:8787/
# List printers
curl http://localhost:8787/api/printers
# View OpenAPI spec
curl http://localhost:8787/openapi.json | head -20