Small environment
For UAT and light use, the repository includes a small-VPS profile around 2 vCPU / 8 GB RAM. Keep queue worker counts conservative and monitor real usage.
Scale-up triggers
Investigate a larger host or service separation when sustained RAM approaches 75%, CPU remains around 70% or higher, database disk latency increases, the server cannot maintain safe free disk, queue backlogs grow, or campaign concurrency materially increases.
Full-scale baseline
The repository's full-scale compose profile targets a dedicated 8 vCPU / 32 GB host. High-volume production may still benefit from a managed/separate PostgreSQL service, separate workers, object storage, and horizontal application containers.
Measure before adding infrastructure
Use database CPU, slow queries, Redis memory, Horizon queue wait, app latency, Go-service metrics, disk growth, and actual concurrency to decide what to scale. Do not use registered-user count alone.