> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tinfoil.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Resource limits & quotas

> Understand the resource limits and naming constraints for Tinfoil Containers.

## Organization quotas

Each organization can have up to **10 container instances**.

<Note>
  Need higher limits? [Contact us](mailto:contact@tinfoil.sh) to discuss your requirements.
</Note>

## Resource options

Each container specifies its resource requirements in `tinfoil-config.yml`. Available options:

<CardGroup cols={2}>
  <Card title="CPU">
    | Cores | Config value |
    | :---- | :----------- |
    | 2     | `cpus: 2`    |
    | 4     | `cpus: 4`    |
    | 8     | `cpus: 8`    |
    | 16    | `cpus: 16`   |
    | 32    | `cpus: 32`   |
  </Card>

  <Card title="Memory">
    | RAM    | Config value     |
    | :----- | :--------------- |
    | 8 GB   | `memory: 8192`   |
    | 16 GB  | `memory: 16384`  |
    | 32 GB  | `memory: 32768`  |
    | 64 GB  | `memory: 65536`  |
    | 128 GB | `memory: 131072` |
    | 256 GB | `memory: 262144` |
    | 512 GB | `memory: 524288` |
  </Card>
</CardGroup>

GPU deployments support either `gpus: 1` or `gpus: 8`. GPU access must be enabled for your organization.

<Tip>
  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`.
</Tip>

## 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.
