Deploy to servers
you actually own
Quayel is the deployment platform for teams that keep their own infrastructure. Connect GitHub, put each service on the server you choose, and ship on every push — with the gateway, certificates, metrics and audit trail already handled.
- Auto-deploy on push
- TLS + DNS handled
- Per-resource RBAC
$curl -fsSL https://agent-api.quayel.com/install.sh | sudo bashWhy Quayel
The managed-platform experience, on infrastructure you control.
A self-hosted alternative to Vercel, Heroku and Railway. Everything a platform team would otherwise assemble from a dozen tools — build, schedule, route, observe, govern — in one control plane that never takes custody of your servers.
Git in, service out
Connect a GitHub repo and every push to your deploy branch builds and ships. Or point at a Git URL, a Dockerfile, or an image you already publish.
Your server, your data
Enroll any Ubuntu or Debian machine with one command. Quayel orchestrates it; the containers, the disks and the traffic never leave hardware you control.
Domains and TLS handled
Every server runs an APISIX gateway. Attach a domain and the DNS record, the certificate and the route are set up for you.
A catalogue to start from
Postgres, MySQL, MariaDB, MongoDB, Redis, Valkey and more, preconfigured as templates. Pick one, name it, deploy.
Docker, Swarm, nixpacks, gateway and agent
Routing and certificates are managed for you
GitHub, Git URL, Dockerfile, image, template
Quayel orchestrates, you host
Platform
From a commit to serving traffic, without the glue code.
Four things have to work together for a deploy to mean anything. Quayel owns all four.
Deployments
Push to main. Watch it go live.
Quayel installs a GitHub App on the repos you choose. When a push lands on the deploy branch, the build starts, the image ships to the server you nominated, and replicas roll one at a time so requests keep landing.
- Auto-deploy per service — on for the repos that should ship themselves, off for the ones that shouldn't
- Nixpacks builds without a Dockerfile, or bring your own
- Zero-downtime rolling updates across replicas
- Pre- and post-deploy scripts, and a maintenance page when you need one
- Push to maina41f902 · Merge pull request #218
- Buildnixpacks · cached layers reused
- Deployapp-1 · rolling, 2 replicas
- Liveapi.acme.com · 200 in 41ms
Servers
One command turns a box into a place to deploy.
The agent installs Docker, Swarm, nixpacks and the gateway, then registers the host with your organization. Add as many machines as you like and choose which one each service runs on.
- Enroll a machine with a single install command
- Pick the server a service runs on and how many replicas it keeps
- Live CPU, memory and network per host
- The agent self-updates and reports its own hardware and runtime state
Gateway & domains
Routing, TLS and auth without touching a config file.
Each server runs Apache APISIX as its edge. Add a domain in the dashboard and Quayel creates the DNS record, issues the certificate, and syncs the route. Guard a path with JWT, redirect a legacy host, or gate on request conditions.
- Automatic DNS records and certificate issuance
- Host and path routing straight to a service port
- JWT-protected routes and condition-based rules
- Redirects and rewrites managed per service
Observability
See what shipped, what it's doing, and who did it.
Build and runtime logs stream live and are archived when the run ends. Every action — deploy, restart, rebuild — records the person who triggered it and the commit it put into production.
- Live build and runtime logs, archived when complete
- Per-service CPU, memory, network and replica health
- Action history with actor and deployed commit
- Status reported by the machine, not assumed from the last click
Sources
Bring whatever you already have.
A repo, a Dockerfile, a published image, or a template from the catalogue. Quayel figures out the path to a running service.
GitHub
Install the app, pick repos, choose a branch. Push-to-deploy from there.
Git URL
Any reachable repository, with the branch and build settings you specify.
Dockerfile
Already containerized? Quayel builds your Dockerfile as written.
Container image
Point at an image in any registry and run it with your env and ports.
Templates
Databases and other open-source services, preconfigured and ready to deploy.
How it works
Four steps to your first deploy.
Most teams get a service running in the time it takes to read this page.
Enroll a server
Run the install command on any Ubuntu or Debian host. It sets up Docker, Swarm, nixpacks and the gateway, then registers with your org.
Connect your source
Install the GitHub App or point at a Git URL, a Dockerfile, or an image. Or start from a template instead.
Configure the service
Choose the server it runs on and how many replicas. Set env vars, ports, volumes and resource limits.
Ship
Deploy once from the dashboard, or turn on auto-deploy and let every push do it for you.
$curl -fsSL https://agent-api.quayel.com/install.sh | sudo bashGovernance
Access, accountability and revocation — not bolted on later.
The parts that make a platform usable by more than one person, present from the first deploy.
Roles that match how teams work
Owner, admin, billing and member at the org level. On top of that, grant read, maintain or admin on a single service or server — to a person or a whole team.
An audit trail worth reading
Every action stores who triggered it and the exact commit it deployed, so 'what changed?' has an answer that doesn't involve guessing.
Agents that can be revoked
Each server authenticates with a short-lived signed token tied to its enrollment secret. Rotate the secret and that machine's tokens stop working immediately.
Status you can trust
Runtime state comes from the machines themselves on a heartbeat, not from whatever the UI last assumed.
FAQ
Questions worth asking before you move a workload.
Get started
Ship to your own servers today
Create an org, enroll a machine with one command, and deploy your first service in minutes. No credit card.