Self-Hosting Overview

Neocache is designed to be self-hosted. Run it on your own infrastructure with full control over your data.

Why Self-Host?

  • Data sovereignty - Your build artifacts stay on your infrastructure
  • No usage limits - Scale as needed without per-GB pricing
  • Custom integrations - Connect to your existing systems
  • Air-gapped environments - Works without internet access

Requirements

Minimum Requirements

  • Database: PostgreSQL 14+ (recommended) or SQLite
  • Storage: S3-compatible storage or local filesystem
  • Memory: 512 MB RAM minimum
  • CPU: 1 vCPU minimum
  • Database: PostgreSQL 14+ with connection pooling
  • Storage: S3-compatible (AWS S3, Cloudflare R2, MinIO)
  • Memory: 2+ GB RAM
  • CPU: 2+ vCPUs
  • Reverse proxy: nginx, Caddy, or Traefik with TLS

Deployment Options

The simplest way to get started:

docker run -d \
  -p 8080:8080 \
  -e DATABASE_URL="postgres://..." \
  -e S3_BUCKET="neocache" \
  ghcr.io/neocache/neocache:latest

Full Docker Guide →

NixOS Module

Native NixOS integration:

{
  services.neocache = {
    enable = true;
    settings = {
      listen = "[::]:8080";
      database.url = "postgres:///neocache";
    };
  };
}

Full NixOS Guide →

Kubernetes

Helm chart available:

helm repo add neocache https://charts.neocache.io
helm install neocache neocache/neocache

Full Kubernetes Guide →

Architecture

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Client    │────▶│  Neocache   │────▶│   Storage   │
│   (CLI)     │     │   Server    │     │    (S3)     │
└─────────────┘     └──────┬──────┘     └─────────────┘

                    ┌──────▼──────┐
                    │  PostgreSQL │
                    └─────────────┘

Next Steps

Choose your deployment method: