archy/docs/scale-budget.md
Dorian dcaf0e49a8 docs: create resource budget for 10K users (SCALE-01)
Per-container RAM/CPU/disk measurements from .228 baseline.
Three app tiers: Core (2.6GB), Recommended (+880MB), Optional (+2-5GB).
Four hardware tiers with cost estimates.
10K user distribution projection.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 03:18:15 +00:00

4.6 KiB

Resource Budget for 10K Users

Current Baseline (March 2026)

Node .228 (Primary Dev Server)

  • Hardware: Intel i3-8100T (4 cores @ 3.10GHz), 16GB RAM, 1.8TB NVMe
  • Containers: 32 running
  • RAM Usage: ~14GB (8GB swap configured)
  • CPU Load: 3.5-5.5 (variable, depends on Bitcoin block processing)
  • Disk Usage: ~82% of 1.8TB

Per-Container Resource Consumption (Measured)

App RAM (typical) CPU (typical) Disk
Bitcoin Knots 750MB 0.5-2.0 cores (IBD) 600GB+ (full chain)
LND 250MB 0.1 cores 5GB
Electrs/Mempool-Electrs 500MB 0.5 cores (indexing) 50GB+
Mempool API 200MB 0.1 cores 1GB
Mempool Web 50MB 0.01 cores negligible
BTCPay Server 300MB 0.1 cores 2GB
NBXplorer 200MB 0.1 cores 1GB
PostgreSQL (BTCPay) 100MB 0.1 cores 2GB
MariaDB (Mempool) 150MB 0.1 cores 1GB
Fedimint 370MB 0.1 cores 1GB
Fedimint Gateway 100MB 0.05 cores negligible
OnlyOffice 760MB 0.2 cores 2GB
Immich Server 500MB 0.5-1.0 cores (ML) varies
Immich Postgres 100MB 0.1 cores varies
Immich Redis 30MB 0.01 cores negligible
Nextcloud 300MB 0.2 cores varies
Jellyfin 200MB 0.2-2.0 cores (transcode) varies
Home Assistant 230MB 0.1 cores 1GB
Grafana 100MB 0.05 cores 500MB
Uptime Kuma 80MB 0.02 cores 200MB
Vaultwarden 50MB 0.01 cores 100MB
PhotoPrism 300MB 0.3 cores (ML) varies
SearXNG 100MB 0.05 cores negligible
DWN 80MB 0.02 cores varies
FileBrowser 30MB 0.01 cores negligible
Portainer 50MB 0.02 cores 200MB
Tailscale 30MB 0.01 cores negligible
AdGuard Home 50MB 0.02 cores 200MB
Nostr Relay 50MB 0.02 cores varies
Nginx Proxy Manager 50MB 0.01 cores negligible
Ollama 500MB-4GB 1-4 cores (inference) 10GB+ (models)

App Tiers

Core Tier (Required for Basic Bitcoin Node)

  • Bitcoin Knots (750MB)
  • LND (250MB)
  • Electrs (500MB)
  • Mempool Stack (400MB total)
  • BTCPay Stack (600MB total)
  • DWN (80MB)
  • FileBrowser (30MB)
  • Total: ~2.6GB RAM, 2 CPU cores, 700GB disk
  • Fedimint + Gateway (470MB)
  • Vaultwarden (50MB)
  • Uptime Kuma (80MB)
  • Grafana (100MB)
  • SearXNG (100MB)
  • Tailscale (30MB)
  • Portainer (50MB)
  • Total: +880MB RAM, +0.5 cores

Optional Tier (User Choice)

  • Home Assistant (230MB)
  • Jellyfin (200MB)
  • Nextcloud (300MB)
  • OnlyOffice (760MB)
  • Immich Stack (630MB)
  • PhotoPrism (300MB)
  • AdGuard Home (50MB)
  • Ollama (500MB-4GB)
  • Nginx Proxy Manager (50MB)
  • Total: +2-5GB RAM, +2-5 cores

Hardware Tier Recommendations

Tier 1: Minimal (Core Only)

  • CPU: 2 cores (Intel Celeron/N100, ARM Cortex-A76)
  • RAM: 4GB
  • Disk: 1TB SSD (pruned Bitcoin node) or 2TB (full node)
  • Apps: Core tier only
  • Cost: ~$100-150 (Raspberry Pi 5, used mini-PC)
  • CPU: 4 cores (Intel i3/N200, Apple M1)
  • RAM: 8GB
  • Disk: 2TB NVMe
  • Apps: Core + Recommended tiers
  • Cost: ~$200-400 (Intel NUC, ThinkCentre Tiny)

Tier 3: Power User (All Tiers)

  • CPU: 4-8 cores (Intel i5/i7, AMD Ryzen)
  • RAM: 16GB+
  • Disk: 2-4TB NVMe
  • Apps: Core + Recommended + Optional
  • Cost: ~$400-800 (used workstation, custom build)

Tier 4: Heavy (All + AI/ML)

  • CPU: 8+ cores
  • RAM: 32GB+
  • Disk: 4TB+ NVMe
  • GPU: Optional (for Ollama, Immich ML)
  • Apps: Everything including Ollama with large models
  • Cost: ~$800+ (workstation with GPU)

10K User Projection

Distribution Assumption

  • 60% Tier 1 (minimal Bitcoin node): 6,000 users
  • 25% Tier 2 (standard): 2,500 users
  • 12% Tier 3 (power user): 1,200 users
  • 3% Tier 4 (heavy): 300 users

Network Impact

  • Federation sync: ~1KB per peer per 5-minute sync
  • DWN message replication: ~10KB per message sync
  • Tor hidden service overhead: negligible per user
  • Nostr relay federation: ~5KB per node announcement

Scale Bottleneck Analysis

  1. Disk: Bitcoin blockchain grows ~100GB/year — need at minimum 1TB
  2. Memory: Core tier uses 2.6GB, leaves headroom on 4GB systems
  3. CPU: Bitcoin block processing and Electrs indexing are CPU-bound
  4. Network: Tor circuit establishment is the main latency bottleneck

Recommendations

  1. Default fresh install to Core tier only (2.6GB RAM)
  2. Show tier badges in Marketplace
  3. Warn when system RAM < required for selected apps
  4. Auto-detect hardware and suggest appropriate tier