Skip to main content

System Requirements

Requirements for self-hosting Cargoman.

Minimum Requirements

ComponentRequirement
CPU1 vCPU
Memory512 MB RAM
Storage10 GB (depends on package count)
OSLinux (x86_64, aarch64), macOS
ComponentRequirement
CPU2+ vCPUs
Memory2 GB RAM
StorageSSD with 50+ GB
OSUbuntu 22.04 LTS or similar

Software Dependencies

Required

  • PostgreSQL 14+: Primary database
  • Git 2.30+: For repository cloning

Optional

  • Redis 6+: For caching (improves performance)
  • Nginx/Caddy: Reverse proxy with TLS

Storage Backends

Filesystem

For development or small deployments:

  • Local disk with sufficient space
  • Mount point for package archives

Cloud Storage

For production:

  • Cloudflare R2: Recommended (S3-compatible, cost-effective)
  • AWS S3: Fully supported
  • MinIO: Self-hosted S3-compatible storage

Network Requirements

Inbound

PortProtocolPurpose
80HTTPRedirect to HTTPS
443HTTPSAPI and Composer protocol

Outbound

DestinationPurpose
Git providersClone repositories
Cloud storagePackage archive storage
PostgreSQLDatabase connection

Docker Requirements

If using Docker:

  • Docker 20.10+
  • Docker Compose 2.0+
  • 1 GB disk for images

Build from Source

If building from source:

  • Rust 1.75+ (Edition 2024)
  • Cargo
  • libpq-dev (PostgreSQL client library)
  • libssl-dev (OpenSSL)
  • pkg-config
# Ubuntu/Debian
apt install build-essential libpq-dev libssl-dev pkg-config

# macOS
brew install postgresql openssl

Next Steps