Deploy Phoenix to Your Own VPS. Without the Work.
Dedicated resources. No cold starts. No surprise bills. The ease of a PaaS, on infrastructure you own.
There's a Better Way
Potions gives you the convenience of a PaaS with the performance and control of your own VPS.
Create a Server
Pick your cloud - DigitalOcean or Hetzner - then a region and size. Potions provisions and configures your VPS, ready for deploys in minutes.
Add Your App
Connect your git repo. Potions sets up PostgreSQL, SSL, and environment variables automatically.
Deploy
Hit deploy. That's it. Potions builds a Mix release and ships it with zero downtime.
The Cost of PaaS Convenience
Your Servers, Not Theirs
With a PaaS, you're renting infrastructure you don't control. Potions provisions your own DigitalOcean or Hetzner servers. You can even cancel Potions and your apps keep running.
Cold Starts Kill LiveView
Starter tiers spin down after inactivity. The first request boots the BEAM - 3 to 10 seconds of dead air. Your real-time app turns off when nobody's looking.
Full SSH, Real Console
On many PaaS tiers you only get limited access to the runtime: restricted shells, awkward Observer access, and nothing to attach to if an app sleeps. Potions gives you full SSH and a remote console into the running node, so the BEAM's toolkit stays in reach.
5x the Cost, Fewer Resources
A $6/month VPS runs a Phoenix app (or two) comfortably. A comparable PaaS setup starts at $30-50/month for shared, throttled resources. Why pay more for less?
From Git Push to Running App
Everything between
git push
and a running app, handled by Potions.
No Lock-In. Walk Away Anytime.
Your servers live on your own cloud provider account. Your apps are standard Mix releases. Your databases are plain PostgreSQL. Need to cancel Potions? No problem — everything keeps running. You just lose the dashboard. Nothing proprietary to untangle. No migration to plan.
PaaS Convenience. VPS Control.
Potions gives you the best of both worlds.
Server costs are paid directly to your cloud provider.
The Modern Elixir Workflow
Build your app with Tidewave, Cursor, Claude Code, or Codex. Deploy it with Potions. Go from an AI prompt to a production URL faster than ever.
Frequently Asked Questions
What happens to my servers if I cancel Potions?
They keep running. Potions is the management layer - your servers, apps, and databases are on your own cloud provider account. You just lose the dashboard and automated deployments.
Can I still SSH into my servers?
Yes. You get full SSH access as the deploy user. Potions manages your servers, it doesn't lock you out of them.
Do I need Docker?
No. Potions builds native Mix releases and deploys them directly. No Dockerfiles, no container registries, no orchestration layer.
How do you keep my servers secure?
Potions connects over SSH using keys generated per-server. Your cloud provider API tokens and environment variables are encrypted with AES-256-GCM at rest. Every server ships with Fail2ban, UFW firewall rules, and unattended security upgrades.
How is this different from Fly.io, Render, or Gigalixir?
Those platforms own the infrastructure and rent you shared compute at a premium. With Potions you deploy to VPS instances on your own cloud account - dedicated resources, and you pay your cloud provider directly, typically 3-5x less.
Can I deploy apps built with AI tools like Tidewave?
If it's a Phoenix app, Potions can deploy it. Build with Tidewave, Cursor, Claude Code, Codex, or however you write your code - Potions handles everything from Mix release to production.
Which cloud providers does Potions support?
You can provision servers on DigitalOcean or Hetzner Cloud - connect either or both, and pick which one to deploy to per server. Support for more providers is on the way.
How does pricing work?
$5/month (Starter, 1 server), $19/month (Solo, up to 5 servers), or $39/month (Team, up to 10 servers). You pay your cloud provider separately for the servers. 14-day free trial on all plans.
Your First Deploy is 5 Minutes Away.
Connect your accounts, create a server, and push your code.
Start Your 14-Day Free Trial$ git push origin main Enumerating objects: 42, done. Counting objects: 100% (42/42), done. Potions: Building release... Potions: Deploying to nyc3-prod... Potions: Health check passed Potions: Traffic switched. Zero downtime. Deploy complete. https://myapp.onpotions.com