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.