Skiffly documentation
Skiffly is a self-serve platform for deploying apps and databases from GitHub or a Docker image. Push, get a build and a domain with TLS, pay only for what runs.
Skiffly takes a GitHub repository or a Docker image and turns it into a running service with a public HTTPS domain, logs, metrics and a private network to the databases next to it. The workflow mirrors Railway: workspace → project → environment → service → deployment, one GraphQL API for the dashboard, the CLI and AI agents.
Quick startConnect a repository, deploy, add a domain. Dashboard, CLI or MCP.ServicesBuilders, start commands, health checks, replicas, cron, App Sleeping.VariablesService and shared variables,
${{Service.VAR}} references, built-ins.DatabasesPostgres, MySQL, Redis, Mongo from templates; volumes, skiffly connect, backups.CLIskiffly up, logs -f, ssh, connect, config apply.MCP serverLet Claude Code, Cursor or Codex deploy and debug for you.Languages & frameworksWhat Railpack detects for Node, Next.js, Python, Rails, Go, PHP, Bun, Docker and static sites.TutorialsNext.js + Postgres, Django + Redis, n8n, a Telegram bot, moving off Heroku, a monorepo as code.What you get#
- Builds without configuration. Railpack detects Node, Python, Go, Rust, PHP, Ruby, Java and static sites. A
Dockerfilein the repository is used automatically. - A domain with TLS on day one. Every service can get
<name>-<id>.skiffly.cloud; custom domains need one CNAME and one TXT record. - Databases next to your app. Templates for Postgres, MySQL, Redis, MongoDB and 130 more, each with a volume and a connection string other services reference as
${{Postgres.DATABASE_URL}}. - Private networking by name. Services in the same environment reach each other at
http://<service-slug>:<port>. - Prepaid billing. Top up with PayPal or crypto, usage is metered per second of reserved CPU, RAM, disk and egress. No card on file, no surprise invoice.
- Isolation. Your code runs in gVisor sandboxes; builds run in Kata microVMs. Nodes are in the EU (Helsinki).
How Skiffly differs from Railway#
| Railway | Skiffly | |
|---|---|---|
| API | GraphQL at backboard.railway.com/graphql/v2 | Same shapes at api.skiffly.dev/graphql; most Railway documents run unchanged (compatibility) |
| Config changes | Staged, then deployed | Applied immediately; redeploy when a build is needed |
| Billing | Card, invoice at the end of the month | Prepaid balance, PayPal or crypto, 3-day grace then pause |
| Regions | US, EU, Asia | EU only (Finland today) |
| Isolation | Containers | gVisor for services, Kata microVMs for builds |
| Config as code | railway/iac SDK | @skiffly/config, same builders, defineSkiffly |
Skiffly is in early access. Things that do not exist yet are listed honestly on each page rather than promised.
Three ways in#
- Dashboard at app.skiffly.dev: a canvas per project, deploys, logs, variables, domains, billing.
- CLI:
npm i -g skiffly, thenskiffly login,skiffly init,skiffly up. Guide. - MCP:
claude mcp add skiffly -s user -- skiffly mcpand ask your agent to deploy. Guide.