Eris
Your hardware.
Our control plane.
Eris builds your repository, ships the image to a server you own and keeps it answering over HTTPS. Your server runs one agent, and there is nothing else to keep running.
Three steps, then every push deploys.
-
Connect a machine
Run one command on a fresh Ubuntu, Debian, RHEL, Rocky Linux or AlmaLinux server. It installs Docker and Traefik and links the server to Eris.
-
Point Eris at a repository
Pick a repository, a branch and a name. Your app goes live at
<name>.eris.page, with an HTTPS certificate issued for you. -
Push
Every push to that branch deploys. Eris builds the image, starts it beside the running app, and moves traffic over only once the new container accepts connections, or answers a health check path you set.
Runs on Eris
One screen per app: its state, address and deploys.
Logs stream straight from your server while you watch. CPU, memory, restarts and requests are kept by the hour for seven days.
Runs on Eris
Every name you serve, checked from six regions.
Every ten minutes Eris requests each of your app's names from both coasts of North America, both halves of Europe, Asia-Pacific and Oceania. The Dashboard shows each answer, how long it took and which city it came from.
Any HTTP answer counts, a 500 included: Eris checks that the route to your app
works, not your code. The requests carry User-Agent: Eris-Reach/1, so
you can find them in your own logs.
Runs on your server
Postgres, MySQL, MariaDB or Redis, next to your app.
Eris runs the database as a container on the same server, on a network of its own. It lives on your disk, and one database can serve several apps.
Attach an app, and its next deploy finds DATABASE_URL or
REDIS_URL in the environment. You pick the version once, and Eris never
changes it.
Name an S3-compatible bucket you own, and Eris dumps Postgres, MySQL or MariaDB into it once a day. The dump goes from your server straight to the bucket.
Runs on your server
Cron jobs, each run in a container of its own.
Give a task a name, a schedule and a command, like
php artisan schedule:run every minute. Each run starts a fresh
container from the image and variables your app runs with, on its networks, so it
reaches your database and your volume.
Pick a schedule from a list or type five cron fields, in UTC. The agent on your server fires each run on its own clock, so tasks keep running while Eris is down. A run is stopped after an hour.
Run a task now, pause it, or read its output. Eris records how each of the last 50 runs ended. Output is read from your server while you look, and only the last run's is kept.
Runs on Eris
Everything that happened, newest first.
Activity lists deploys, failed task runs, backups, outages and a filling disk, across every app and server, for 30 days. Each row says what set it off, whether you, a push, a schedule, Eris or Claude Code, and opens the screen where it happened.
Filter to one app or to problems only. A deploy still running turns into its result without a reload.
Runs on Eris
One email when something needs you.
Eris checks every minute. When a server, an app or a deploy needs you, it sends one email. When the problem clears, it sends nothing: the Dashboard already shows that.
Turn any of them off in the Dashboard, or stop all email with one click from any message.
-
A server goes quiet
Eris hasn't heard from it for five minutes, or Docker, Traefik, the firewall or port 80 has been blocking it that long.
-
An app keeps crashing
Its container died three times in fifteen minutes, or has been down for five. A database counts the same way.
-
A disk fills up
The disk that holds Docker's data is 80% full.
-
A certificate stops renewing
One of your names has 14 days left and hasn't renewed. A reminder follows at three.
-
Your app stops answering
Two regions can't reach one of its names twice in a row while its container runs.
-
A scheduled task keeps failing
Two runs in a row failed, hit the hour limit, or didn't start.
-
A deploy fails
From a push or from the
Deploybutton, whether the fault was yours or ours. -
A push wasn't deployed
Because of something only you can fix: a branch that is gone, or one Eris can't read.
Runs on your server
Every port closed except the ones you open.
Turn the firewall on, and the server accepts only what your rules open, plus 80 and 443. Each change runs on trial: if Eris loses the server or port 80 stops answering, the agent puts the previous rules back.
Lock yourself out of SSH, and the Dashboard is still your way back in. Once the
firewall holds, Eris turns off the ufw or firewalld it
replaced.
Runs on Eris
Ask Claude why the last deploy failed.
Eris speaks MCP. Connect Claude Code or claude.ai, and it reads your servers, your apps, their last ten deploys and a deploy's log.
It only reads: no tool deploys, changes or deletes. You allow each assistant in the browser and revoke it in the Dashboard. Eris disconnects one that goes unused for 30 days.
claude mcp add --transport http eris https://mcp.erisdeploy.com/mcp
What an app needs once it's running.
Each one lives in the Dashboard, on the app or the server it belongs to.
-
Custom domains
Point a CNAME at the target Eris gives you. Eris proves it and issues the certificate. Up to five per app, apex included.
-
Volumes
A directory that outlives the container: uploads or a SQLite file survive a redeploy, a reboot, and even deleting the app.
-
Variables
Environment for the container, with secrets nothing shows again once saved. An edit reaches the app with its next deploy.
-
Shell
A
bashorshinside the running container, from the Dashboard. Nothing you type is kept. -
Rollback
Put back the image an earlier deploy ran, with nothing rebuilt. Eris keeps the images of the last three deploys that went live.
-
Your own image
Build in your own CI and push the image to Eris's registry. The push starts the deploy.
We run the control plane, so you don't.
Coolify and Dokploy install theirs on your server: you update it, you fix it, and when the server dies, it dies too. With Eris, your server runs an agent and your containers. If Eris goes down, your apps keep answering.
Wiring a VPS by hand, the Dockerfile and the nginx config take an afternoon. Certificates that renew and deploys that fail safely take years. Here, a failed deploy leaves the running app untouched.
Your app runs on your hardware, and its traffic never passes through Eris. Its image is built on Eris's builders and stored in Eris's registry.
Connect a server and push.
Free while Eris is young, up to five servers and ten apps per account.
Eris is an early alpha under active development. Expect breaking changes.