Server Regions & Sizes

When you create a server, you choose a region and a size. The region determines where your server is physically located, and the size determines how much CPU, RAM, and disk space it has.

DigitalOcean

Regions

Potions supports 13 DigitalOcean regions across North America, Europe, Asia, and Australia. Pick the region closest to your users for the lowest latency.

Region Slug Location
Amsterdam 3 ams3 Netherlands
Atlanta 1 atl1 Georgia, USA
Bangalore 1 blr1 India
Frankfurt 1 fra1 Germany
London 1 lon1 United Kingdom
New York 1 nyc1 New York, USA
New York 2 nyc2 New York, USA
New York 3 nyc3 New York, USA
San Francisco 2 sfo2 California, USA
San Francisco 3 sfo3 California, USA
Singapore 1 sgp1 Singapore
Sydney 1 syd1 Australia
Toronto 1 tor1 Canada

All regions have the same capabilities - there are no feature differences between them. If your users are concentrated in one area, pick the closest region. New York and Frankfurt are great options for global traffic.

Sizes

All DigitalOcean sizes run the same server stack (PostgreSQL and Caddy, with pre-built Elixir releases) and can host multiple apps.

vCPUs RAM Disk Swap
1 1 GB 25 GB 512 MB
1 2 GB 50 GB 1 GB
2 2 GB 60 GB 1 GB
2 4 GB 80 GB 1 GB

Potions automatically configures swap space on every server - 512 MB for the 1 GB tier and 1 GB for all larger sizes. Swap gives your server breathing room during memory spikes without affecting normal performance.

Choosing a Size

1 GB RAM: Good for development, staging, and small production apps with light traffic. PostgreSQL and a single Phoenix app fit comfortably. Keep in mind that deploys briefly run two instances of your app during the zero-downtime switchover, which doubles memory usage for a short window.

2 GB RAM / 1 vCPU: A solid starting point for production. Enough room for PostgreSQL, multiple Phoenix apps, and the memory overhead during deploys.

2 GB RAM / 2 vCPU: Same memory as the tier above but with a second CPU core. Useful if your app is CPU-bound (heavy computation, image processing, or high concurrency on the BEAM scheduler).

4 GB RAM / 2 vCPU: For larger production workloads or servers hosting several apps. Gives PostgreSQL room for bigger working sets and lets you run multiple apps without contention.

Pricing

DigitalOcean bills you for your droplets at their standard rates. Potions doesn't add any markup to infrastructure costs. Check DigitalOcean's pricing page for current rates.

More Providers Coming Soon

Potions is adding support for additional cloud providers.

Things to Know

  • Multiple apps share server resources. If you're running several apps on one server, factor in the combined memory and CPU usage when choosing a size.
  • Builds don't consume server resources. Potions builds your release on a separate build server, not on your app server. The only server resource used during deploys is the upload and restart step.