Self-Hosting

Deploy Recursiv on your own infrastructure

Overview

Recursiv can be self-hosted using Docker Compose, Kubernetes, or a manual setup. The platform requires:

  • Node.js 18+ runtime
  • PostgreSQL 15+ database
  • Redis 7+ for caching and rate limiting
  • R2/S3-compatible object storage (optional, for file uploads)

The quickest way to self-host:

$git clone https://github.com/recursivlabs/recursiv.git
$cd social.dev-app/deploy/self-host
$
$# Copy and configure environment
$cp .env.example .env
$# Edit .env with your settings
$
$docker compose up -d

Kubernetes

Helm chart available at deploy/self-host/kubernetes/:

$helm install recursiv ./deploy/self-host/kubernetes \
> --set env.DATABASE_URL="postgresql://..." \
> --set env.REDIS_URL="redis://..." \
> --set env.BETTER_AUTH_SECRET="$(openssl rand -base64 32)"

See the Kubernetes README for full configuration options.

Environment Variables

VariableRequiredDescription
DATABASE_URLYesPostgreSQL connection string
REDIS_URLYesRedis connection string
BETTER_AUTH_SECRETYesSecret for session encryption
BASE_DOMAINNoYour custom domain (default: recursiv.io)
R2_ENDPOINTNoS3-compatible storage endpoint
R2_ACCESS_KEY_IDNoStorage access key
R2_SECRET_ACCESS_KEYNoStorage secret key

See .env.example for the full list of configuration options.