Deployment Overview
Deploy Boards to production with various hosting options and configurations. This section covers everything you need to run Boards in a production environment.
Deployment Components
A complete Boards deployment consists of:
| Component | Description | Required |
|---|---|---|
| API | GraphQL API server (uvicorn) | Yes |
| Worker | Background job processor | Yes |
| PostgreSQL | Database for persistent data | Yes |
| Redis | Job queue and caching | Yes |
| Frontend | Web application (Next.js) | Optional |
| Storage | Object storage for artifacts | Yes |
Quick Start Paths
Choose your deployment approach:
Development / Single Server
Use Docker Compose for the simplest setup:
# Using the CLI
npx @weirdfingers/baseboards
# Or manual Docker Compose
docker compose up -d
See Docker Deployment for details.
Production / Scalable
For production workloads:
- Kubernetes - Full control with K8s manifests → Kubernetes Guide
- Cloud Platform - Managed infrastructure:
- Google Cloud Run - Serverless containers
- AWS Elastic Beanstalk - Managed containers
- Railway - Simple PaaS
- Render - Unified cloud platform
- Fly.io - Edge deployment
Configuration Checklist
Before deploying, you'll need to configure:
1. Database
Choose your PostgreSQL provider:
| Option | Best For | Guide |
|---|---|---|
| Self-hosted | Single server, dev | Standalone PostgreSQL |
| Supabase | Full-stack Supabase | Supabase |
| AWS RDS | AWS deployments | AWS RDS |
| Cloud SQL | GCP deployments | Cloud SQL |
| Azure | Azure deployments | Azure Database |
| Neon | Serverless/edge | Neon |
See Managed PostgreSQL for general guidance.
2. Storage
Choose your object storage provider:
| Provider | Best For |
|---|---|
| Local | Development only |
| S3 | AWS, S3-compatible services |
| GCS | Google Cloud |
| Supabase | When using Supabase |
See Storage Configuration for setup.
3. Authentication
Choose your auth provider:
| Provider | Best For |
|---|---|
| JWT | Self-managed auth |
| Supabase | Supabase users |
| Clerk | Quick setup |
| Auth0 | Enterprise |
| OIDC | Generic providers |
See Authentication for setup.
4. Environment & Secrets
Configure environment variables and secrets:
- Database connection URL
- Redis connection URL
- Generator API keys
- Auth provider credentials
- Storage credentials
See Configuration Reference for all variables.
Architecture Diagram
┌─────────────────────────────────────────────────────────────┐
│ Your Application │
│ ┌─────────────────┐ ┌─────────────────────────┐ │
│ │ Frontend │ │ Load Balancer │ │
│ │ (Next.js) │────────▶│ (nginx/Caddy/ALB) │ │
│ └─────────────────┘ └───────────┬─────────────┘ │
│ │ │
│ ┌───────────┴───────────┐ │
│ │ │ │
│ ┌─────▼─────┐ ┌──────▼─────┐│
│ │ API │ │ Worker ││
│ │ (uvicorn) │ │ (boards- ││
│ │ │ │ worker) ││
│ └─────┬─────┘ └──────┬─────┘│
│ │ │ │
│ ┌───────────────────┼───────────────────────┤ │
│ │ │ │ │
│ ┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐ │
│ │ PostgreSQL │ │ Redis │ │ Storage │ │
│ │ │ │ │ │ (S3/GCS) │ │
│ └───────────┘ └───────────┘ └───────────┘ │
└─────────────────────────────────────────────────────────────┘
Pre-built Images
Boards publishes pre-built Docker images:
Backend (API + Worker):
- GHCR:
ghcr.io/weirdfingers/boards-backend:latest - Docker Hub:
cdiddy/weirdfingers-boards-backend:latest
Frontend: Requires custom build (see Frontend Deployment)
Security Checklist
Before going to production:
- HTTPS enabled with valid certificates
- Auth provider configured (not
none) - Database connections encrypted (SSL)
- Secrets stored securely (not in code)
- CORS origins restricted
- API rate limiting enabled
- Regular backups configured
- Monitoring and alerting set up
Documentation Structure
| Section | Content |
|---|---|
| Docker | Docker Compose deployment |
| Kubernetes | K8s manifests |
| Monitoring | Logging, health checks, metrics |
| Configuration | Environment variables reference |
| Storage | Object storage setup |
| Authentication | Auth provider configuration |
| Frontend | Web application deployment |
| Upgrades | Version upgrades and database migrations |
| Database | PostgreSQL setup guides |
| Cloud Platforms | Platform-specific guides |
Getting Help
- Check the specific guide for your deployment target
- Review Configuration Reference for environment variables
- See Monitoring for debugging tips