Organization quotas
Each organization can have up to 10 containers, with a maximum of 2 instances per repository.
Need higher limits? Contact us to discuss your requirements.
Resource options
Each container specifies its resource requirements in tinfoil-config.yml. Available options:
CPU
| Cores | Config value |
|---|
| 2 | cpus: 2 |
| 4 | cpus: 4 |
| 8 | cpus: 8 |
| 16 | cpus: 16 |
| 32 | cpus: 32 |
Start with the smallest tier that works for your workload and scale up if you see high CPU utilization or slow response times. Over-provisioning wastes resources and you can always resize by redeploying with an updated tinfoil-config.yml.
Memory
| RAM | Config value |
|---|
| 8 GB | memory: 8192 |
| 16 GB | memory: 16384 |
| 32 GB | memory: 32768 |
| 64 GB | memory: 65536 |
| 128 GB | memory: 131072 |
Choosing the right size
Pick resources based on what your application actually needs, not what you think it might need. A few rules of thumb:
- Compiled languages (Go, Rust, C++) are memory-efficient — 8 GB is often enough.
- Interpreted runtimes (Python, Node.js, Ruby) typically need 16 GB+ for production workloads.
- CPU cores should match your concurrency model. A single-threaded app won’t benefit from 32 cores. A multi-process web server (e.g. Gunicorn with workers) should have roughly one core per worker.
- Measure first. Run your app locally with resource limits to understand its actual footprint before deploying.