Skip to main content

System Requirements

Before deploying apilens, ensure your infrastructure meets these requirements.

Minimum Requirements

Development

  • 2 CPU cores
  • 4 GB RAM
  • 20 GB SSD storage
  • Docker 20.10+

Production

  • 4+ CPU cores
  • 8+ GB RAM
  • 100+ GB SSD storage
  • Docker 20.10+

Detailed Requirements

Hardware

ComponentMinimumRecommendedHigh Volume
CPU2 cores4 cores8+ cores
RAM4 GB8 GB16+ GB
Storage20 GB SSD100 GB SSD500+ GB NVMe
Network100 Mbps1 Gbps10 Gbps

Software

SoftwareVersionNotes
Docker20.10+Required
Docker Compose2.0+Required
LinuxUbuntu 20.04+, Debian 11+Recommended
macOS12+Development only
WindowsWSL2Development only

Ports

Ensure these ports are available:
PortServiceRequired
80HTTPYes
443HTTPSProduction
5432PostgreSQLInternal
9000ClickHouse (native)Internal
8123ClickHouse (HTTP)Internal
6379RedisInternal

Storage Considerations

Data Retention vs Storage

Data TypeRetentionStorage (1M events/day)
Metrics90 days~10 GB/month
Logs30 days~50 GB/month
Traces30 days~30 GB/month
ClickHouse uses efficient compression. Actual storage usage is typically 5-10x smaller than raw data.
/opt/apilens/
├── data/
│   ├── postgres/      # Config database (~5 GB)
│   ├── clickhouse/    # Analytics data (scales with volume)
│   └── redis/         # Cache (~1 GB)
└── backups/           # Backup storage

Network Requirements

Outbound Access

DestinationPurposeRequired
Docker HubPull imagesYes
Let’s EncryptSSL certificatesProduction
Auth0AuthenticationIf using Auth0

Firewall Rules

# Required
ufw allow 80/tcp    # HTTP
ufw allow 443/tcp   # HTTPS
ufw allow 22/tcp    # SSH (management)

# Block direct database access from internet
ufw deny 5432/tcp   # PostgreSQL
ufw deny 9000/tcp   # ClickHouse
ufw deny 6379/tcp   # Redis

Scaling Considerations

When to Scale

IndicatorAction
CPU > 80% sustainedAdd more cores or horizontal scale
RAM > 85%Increase memory
Disk > 80%Expand storage or reduce retention
Query latency > 5sScale ClickHouse

Horizontal Scaling

For high-volume deployments:
  • Backend: Run multiple backend containers behind a load balancer
  • Celery Workers: Add more worker containers
  • ClickHouse: Set up a cluster (advanced)
  • PostgreSQL: Use managed service with replicas

Cloud Provider Recommendations

AWS

WorkloadInstance TypeMonthly Cost*
Smallt3.medium~$30
Mediumt3.large~$60
Largec5.xlarge~$125

DigitalOcean

WorkloadDropletMonthly Cost
Smalls-2vcpu-4gb$24
Mediums-4vcpu-8gb$48
Largec-4-8gib$84

Hetzner

WorkloadServerMonthly Cost
SmallCX21€6
MediumCX31€10
LargeCX41€16
*Costs are approximate and may vary

Pre-Installation Checklist

Server meets minimum requirements
Docker and Docker Compose installed
Domain name configured (production)
SSL certificate or Let’s Encrypt access
Firewall configured
Backup strategy planned

Next Steps

Docker Compose Setup

Deploy with Docker Compose

Production Deployment

Production deployment guide