The deployment platform built for Elixir
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.
See a full deploy in under 5 minutes
The Cost of PaaS Convenience
PaaS Breaks the BEAM
You chose Elixir for fault tolerance, lightweight processes, and distributed state. PaaS platforms isolate containers and kill distributed Erlang. Don't deploy it somewhere that holds you back.
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.
No SSH, No Debugging
No remote shell. No Observer. No ETS inspection. The BEAM's best production debugging toolkit is locked behind the PaaS wall.
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?
There's a Better Way
Potions gives you the convenience of a PaaS with the performance and control of your own VPS.
Connect
Link Your Cloud Provider + GitHub.
Deploy
Pick a region, choose a repo, hit deploy. App running in minutes.
Ship
Push changes and redeploy. Zero-downtime, every time.
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.
| PaaS | Manual VPS | Potions | |
|---|---|---|---|
| Server ownership | |||
| Push-to-deploy | |||
| Zero-downtime deploys | Maybe | ||
| Dedicated resources | |||
| No cold starts | |||
| SSL management | Manual | ||
| Full SSH access | |||
| Dedicated builds | Maybe | ||
| Elixir-native | Generic | DIY | |
| Pricing model | Per app + usage | Flat | Flat |
| Add more apps | Costs multiply | $0 (same server) | $0 (same server) |
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.
Purpose-built for the Elixir ecosystem
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 to your servers 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 is provisioned with Fail2ban, UFW firewall rules, and unattended security upgrades out of the box.
How is this different from Fly.io, Render, or Gigalixir?
PaaS platforms own and manage the infrastructure. You rent shared compute at a premium. With Potions, you deploy to VPS instances on your own cloud account. You get 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.
What about Hetzner / AWS / other providers?
More providers are coming soon!
How does pricing work?
$19/month (Solo, up to 3 servers) or $39/month (Team, up to 10 servers). You pay your cloud provider separately for the servers themselves. 7-day free trial on both plans.
Your First Deploy is 5 Minutes Away.
Connect your accounts, create a server, and push your code.
$ 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
_
Private beta - spots are limited.