Skip to content
Quayel
NewGateway rules, TLS and DNS, fully managed

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 bash
api-gateway
Running
CPU
18%
Memory
412 MB
Network
1.2 MB/s
Replicas
2 / 2
Recent actions
deploymaya@acme.com2m ago
buildgithub webhook3m ago
restartsam@acme.com1h ago

Why 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.

1 command
To enroll a server

Docker, Swarm, nixpacks, gateway and agent

0
Config files to edit

Routing and certificates are managed for you

5
Ways to start a service

GitHub, Git URL, Dockerfile, image, template

100%
Of workloads on your hardware

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
Deploymentauto_deploy: on
  1. Push to main
    a41f902 · Merge pull request #218
  2. Build
    nixpacks · cached layers reused
  3. Deploy
    app-1 · rolling, 2 replicas
  4. Live
    api.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
Servers3 enrolled · 9 services
app-1fra4 services
srv-8f2a.server.quayel.cloud
22%
48%
data-1fra2 services
srv-1c93.server.quayel.cloud
61%
72%
stagingams3 services
srv-4d70.server.quayel.cloud
8%
19%

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
GatewayTLS issued
api.acme.com/v1/*api-gateway:4000JWT
acme.com/web:3000
old.acme.com/*301 → acme.com
Rules sync to APISIX on every change — no config files to edit on the box.

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
api-gateway · build loglive
12:04:11build: detected node 24 · nixpacks plan resolved
12:04:26build: layers cached (4/6) · image pushed
12:04:31deploy: rolling update 1/2 · api-gateway_app
12:04:38deploy: rolling update 2/2 · converged
12:04:39health: 200 OK · api.acme.com (41ms)
12:04:40logs: archived to object storage

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.

  1. 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.

  2. Connect your source

    Install the GitHub App or point at a Git URL, a Dockerfile, or an image. Or start from a template instead.

  3. Configure the service

    Choose the server it runs on and how many replicas. Set env vars, ports, volumes and resource limits.

  4. 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 bash

Governance

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.