Work in Progress: This page is under development. Use the feedback button on the bottom right to help us improve it.

Desktop Mode

Run Laminar locally using Docker Compose.

Prerequisites

  • Docker
  • Task - brew install go-task
  • AWS ECR access (for pulling images)

Quick Start

cd laminar-infra/desktop
 
# Login to ECR
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 792306802931.dkr.ecr.us-east-1.amazonaws.com
 
# Copy and configure environment variables
cp .env.example .env
# Edit .env with your values (see Configuration section below)
 
# Start services
task up

Services

ServiceDescription
NGINXReverse proxy (routes all traffic)
Laminar BackendAPI, controller, compiler
Laminar ConsoleMain UI
Laminar ProductMarketing site
PostgreSQLMetadata database
GrepTimeDBTime-series DB for logs/metrics
GrafanaObservability dashboards
VectorLog pipeline

Access URLs

All services are accessed through NGINX at http://localhost:

URLDescription
http://localhost/consoleLaminar Console (Main UI)
http://localhost/api/Laminar API
http://localhost/grafana/Grafana dashboards
http://localhost/Product/Marketing site

Default credentials for Grafana and PostgreSQL: laminar / laminar

Commands

Run from the laminar-infra/desktop directory:

task up       # Start all services
task down     # Stop services
task delete   # Stop and remove containers
task restart  # Restart all services
task status   # Show container status
task logs     # View logs (all services)
task logs -- laminar-backend  # View specific service logs

Configuration

Environment Variables (.env)

Copy .env.example to .env and configure the following:

# Image versions (defaults to 'latest' if not set)
LAMINAR_BACKEND_IMAGE_VERSION=
LAMINAR_CONSOLE_IMAGE_VERSION=
LAMINAR_PRODUCT_IMAGE_VERSION=
 
# PostgreSQL (defaults work out of the box)
POSTGRES_USER=laminar
POSTGRES_PASSWORD=laminar
POSTGRES_DB=laminar
 
# Auth Configuration (required for console login)
# Generate with: openssl rand -base64 32
AUTH_SECRET=your-generated-secret
AUTH_URL=http://localhost
 
# Google OAuth (required for console login)
# Create credentials at: https://console.cloud.google.com/apis/credentials
# Add redirect URI: http://localhost/console/api/auth/callback/google
AUTH_GOOGLE_ID=your-google-client-id
AUTH_GOOGLE_SECRET=your-google-client-secret

Laminar Config (laminar.toml)

The laminar.toml file configures the Laminar backend services. Default settings work for local development. Key sections:

  • [api] - HTTP API server (port 8000)
  • [controller] - Pipeline controller (port 8001)
  • [compiler] - UDF compiler (port 8002)
  • [database.postgres] - Database connection
  • [pipeline] - Pipeline runtime settings