Creating a Server

A server in Potions is a VPS provisioned with everything your Elixir/Phoenix apps need to run: PostgreSQL, Caddy for automatic SSL, and a locked-down firewall. Each server can host multiple apps.

Potions currently supports DigitalOcean as a server provider, with more providers coming soon.

Before You Start

You'll need:

Adding a Server

If this is your first server, the setup wizard will walk you through server creation. For additional servers, click Add server in the server bar at the top of the dashboard.

The Add server form with name, type, region, size, and PostgreSQL version fields

Fill in the following:

Name

A label for your reference - something like web-prod-01 or staging. The name must start with a letter or number and can contain letters, numbers, hyphens, and underscores. Names must be unique across your servers.

Type

Currently the only option is App Server (Elixir, PostgreSQL, Caddy). This configures the server with the full stack for running Phoenix apps. More app types are planned.

Region

Where your server will be created. Available regions depend on your cloud provider. You should pick the region closest to your users. See Server Regions & Sizes for the full list.

Size

Choose a server size based on your workload. Available sizes depend on your cloud provider. See Server Regions & Sizes for a full comparison.

The 1 GB RAM tier works for small apps and development. For production workloads, 2 GB or more gives PostgreSQL and your app room to breathe.

Potions automatically configures swap space based on the size you choose: 512 MB for the 1 GB tier, 1024 MB for all larger sizes.

PostgreSQL Version

Choose which version of PostgreSQL to install. The default is PostgreSQL 18. Versions 17 and 16 are also supported.

What Happens After You Click Create

Once you submit the form, you can watch Potions provision your server in real time.

Server detail page showing provisioning progress with elapsed time and current step

Here's what Potions does behind the scenes:

1. Create the Server

Potions creates a server running Ubuntu 24.04 in your chosen region and size. The server typically becomes available within 30 seconds.

2. Provision the Server

Potions connects via SSH and configures the server with everything your Elixir/Phoenix apps need: system updates, a dedicated deploy user, PostgreSQL, Caddy, a firewall, SSH hardening, and a metrics agent. You'll see each step name update in the status badge as provisioning progresses.

The entire process takes about 5-10 minutes, but is often faster.

3. Server Is Active

When all steps complete, the server status changes to Active and you're ready to create your first app.

If Provisioning Fails

If for any reason provisioning fails, you can click Retry Provisioning to resume from where it left off. Potions tracks which steps completed, so a retry doesn't start from scratch.

Things to Know

  • Servers are created on your cloud provider account. The server belongs to you and appears in your provider's dashboard. You have full SSH access using the deploy user.
  • Each server can host multiple apps. You don't need a separate server for each app. Potions handles port assignment, systemd services, and Caddy routing for each app on the server. How many apps a server can comfortably run depends on the size you chose.
  • Cloud provider charges apply. Potions creates a real server on your account. Your cloud provider bills you directly for the infrastructure at their standard rates.