Connect a repo. Push.
Depllo builds it.
Depllo is GitLab-CI-style CI/CD for your GitHub repos. Drop a .depllo-ci.yml, and every push runs on Depllo's own Docker runners — live logs, artifacts, and a commit status back to GitHub. A drop-in replacement for GitHub Actions, priced flat in IDR.
test
build
deploy
Real pipeline #1 built Depllo on its own runner — 4 jobs, parallel type-checks, a needs-gated build with an artifact.
How it works
From repo to green pipeline in three steps.
Your code stays on GitHub. Depllo connects over webhooks and builds it. The free tier needs no card.
Connect your repo
Point Depllo at a GitHub repo (owner/repo). It registers a webhook so every push and pull request triggers a pipeline.
Add .depllo-ci.yml
Commit a GitLab-CI-compatible config — stages, jobs, needs, artifacts, cache, rules. Already on GitHub Actions? Run the converter.
Watch it run
Jobs claim a Docker runner, stream masked logs live, upload artifacts, and post a commit status + passing badge back to GitHub.
Features
Everything a real CI needs.
Six capabilities that run in production today — each proven by Depllo building its own repo on its own runners.
GitLab-CI-compatible config
Stages, a needs-based job DAG, rules & only/except, extends + YAML anchors, artifacts, cache, retries and timeouts — parsed from one .depllo-ci.yml.
Docker runners
Every job runs in an isolated container (default node:24-bookworm) on Depllo's own runners, with a bind-mounted workspace and CPU / memory caps.
Live logs & pipeline graph
Logs stream over SSE with ANSI colors and collapsible sections. A stage-column graph draws the needs edges between jobs as they run.
Masked secrets
Per-project variables encrypted with AES-256-GCM — masked in log output, protected to default-branch pipelines, or materialized as files.
GitHub-native
HMAC-verified push & pull-request webhooks, commit statuses under the "depllo" context, public SVG status badges, and [skip ci] support.
Artifacts, cache & schedules
Pass build outputs between jobs, cache dependencies across runs, and trigger pipelines on a cron schedule — retries and manual jobs included.
Early access: PostgreSQL & Redis service containers (the services: key) are landing now, so database-backed test jobs run alongside your build. Ask us to enable them on your workspace.
Pricing
Flat per workspace. Not per seat.
One price for your whole team, with a pooled pool of build minutes. Free is genuinely free, not a trial. Indonesian customers pay in IDR; international customers pay in USD via PayPal.
Free
For side projects and trying Depllo on one repo.
- 500 build minutes / month
- 1 job at a time
- Unlimited connected repos
- Live logs, artifacts & status badges
- Community support
Starter
For a solo dev or a small repo shipping daily.
- 2,000 build minutes / month
- 2 parallel jobs
- Scheduled pipelines (cron)
- Masked & protected secrets
- Email support
Growth
For a team with several active repos — one flat price.
- 6,000 build minutes / month
- 4 parallel jobs
- Whole workspace, not per-seat
- Build cache & artifact retention
- Priority email support
Business
For busy monorepos and CI-heavy teams.
- 20,000 build minutes / month
- 8 parallel jobs
- Highest queue priority
- Bring-your-own runner tags
- Priority support
Every tier includes unlimited connected repos, live logs, artifacts, and status badges. See the full comparison →
Compare
Depllo vs the CI you use now.
GitHub Actions is what most Depllo users replace; GitLab CI is the syntax we're compatible with. Here's where they genuinely differ.
| Capability | Depllo | GitHub Actions | GitLab CI |
|---|---|---|---|
| Pricing model | Flat / workspace | Per seat + metered | Per user ($29+) |
| IDR / local billing | |||
| Free build minutes / mo | 500 | 2,000* | 400 |
| OS minute multipliers | None (flat Linux) | Win 2× / mac 10× | None |
| GitLab-CI-style config | |||
| One-command migration from GH Actions | |||
| One login across sister products |
*GitHub Actions: 2,000 free Linux minutes on private repos; unlimited on public repos. Figures as of 2026 vendor pricing.
For developers
CLI-first. Typed SDK. Real REST API.
Drive every pipeline from the depllo CLI, wire it into your tooling with the Node/TypeScript SDK, or hit the REST API directly — all on the family {data,error,meta} envelope.
- List projects, run, cancel & tail pipelines from the CLI
- Typed Node / TypeScript SDK (@forjio/depllo)
- REST API with idempotency keys on every mutation
- Public SVG status badges for your README
# Install once $ npm i -g @forjio/depllo-cli # Sign in with your Forjio account $ depllo auth login ✔ Signed in as you@example.com # Run a pipeline and tail its logs $ depllo pipeline run saas-app --ref main ✔ Pipeline #42 created $ depllo pipeline logs job_01hx… --follow
import { DeplloClient } from "@forjio/depllo"; const depllo = new DeplloClient({ token: process.env.DEPLLO_TOKEN!, }); const { data } = await depllo.pipelines.run( "proj_01hx…", { ref: "main" }, );
One login
Sign in once. Use every Forjio product.
Depllo shares its account system with the rest of the Forjio family through Huudis SSO, and bills through Plugipay. Your workspace and teammates carry across every product.
Huudis
identity
Powered by Huudis — the identity provider for the Forjio family.
FAQ
Common questions.
Do I have to move my code off GitHub?
No. Your repository stays on GitHub. Depllo connects through a webhook and clones over HTTPS to build each commit. It replaces GitHub Actions as your CI — not GitHub itself.Is it really GitLab-CI compatible?
Depllo reads a GitLab-CI subset: stages, needs, rules, only/except, extends, YAML anchors, artifacts, cache, retry and timeout. Some GitLab features are out of scope in v1 — include: remote configs, docker-in-docker, and Kubernetes executors.How do I migrate from GitHub Actions?
Run the converter (scripts/gha-to-depllo.mjs) against your repo. It turns your .github/workflows/*.yml into one .depllo-ci.yml and reports anything it could not translate so nothing is dropped silently.Where do my jobs actually run?
On Depllo's own Docker runners. Each job gets an isolated container (default node:24-bookworm) with a bind-mounted workspace and CPU / memory limits. Secrets are masked in the logs.Can I run database-backed tests?
Service containers (PostgreSQL / Redis via the services: key) are in early access. Everything else — build, test, and deploy jobs — runs today.How does billing work?
Flat per workspace, not per seat, with a pooled monthly allowance of build minutes. Indonesian customers pay in IDR through Plugipay; international customers pay in USD via PayPal.
Point Depllo at a repo and push.
Free forever — 500 build minutes a month, no card. Upgrade when your pipelines outgrow it.