Skip to content

Features

The platform we wish we had ten years ago.

Everything you need to ship a production app, without writing yaml or babysitting clusters.

Auto-build with Nixpacks

Push code, Dockfly figures out the rest. Nixpacks inspects your repo, picks the right toolchain, installs dependencies, and produces a small OCI image — no Dockerfile required.

  • Auto-detects 30+ languages and frameworks.
  • Reuses caches between builds for fast iteration.
  • Bring a Dockerfile if you need full control.
Auto-build with Nixpackslive

Real-time logs

Stream stdout, stderr, and access logs from every container live in your browser. Filter, search, and share permalinks to a specific moment in time.

  • Live tail via Server-Sent Events.
  • Filter by service, deploy, level.
  • Up to 90-day retention on paid plans.
Real-time logslive

Multi-service projects

Group web, worker, cron, and database services under one project. Service URLs and credentials are wired via environment variables so your code can stay simple.

  • Web, worker, and cron services in one project.
  • Connection strings injected as env vars.
  • Private networking, public TLS endpoints.
yaml
1# dockfly.yaml (auto-generated, editable)
2project: my-saas
3services:
4 web:
5 type: web
6 build: nixpacks
7 env: { PORT: 3000 }
8 worker:
9 type: worker
10 command: ./worker
11 postgres:
12 type: db
13 plan: pg-16-small

Custom domains + auto-SSL

Bring your own domain, or use a free dockfly.app subdomain. TLS certificates are issued, renewed, and rotated for you — DNS and HTTP-01 challenges handled.

  • Wildcard certs via DNS-01 challenge.
  • Automatic Let's Encrypt renewal.
  • Force-HTTPS and HSTS opt-in.
app.dockfly.app

myapp.com

ACTIVE · TLS expires in 89 days · CNAME verified

ACTIVE

*.myapp.com

ACTIVE · wildcard via DNS-01 · 4 services bound

ACTIVE

preview.myapp.com

ACTIVE · 12 preview URLs

ACTIVE

Environment variables (encrypted)

Manage secrets at the project or service level. Values are encrypted at rest with envelope encryption and never appear in build logs or audit exports.

  • Per-environment overrides (preview / staging / production).
  • Secret values never logged or shown after creation.
  • Sealed import / export for team rotation.
bash
1# Set secrets from your terminal
2$ dockfly env set DATABASE_URL=postgres://… --service api
3✓ Set 1 variable (encrypted at rest)
4
5# Or copy from .env
6$ dockfly env import .env --service api
7✓ Imported 18 variables

Metrics & monitoring

Every service ships with a Prometheus-compatible metrics endpoint and a built-in dashboard. CPU, memory, latency, and error rate are charted automatically.

  • 15-second resolution metrics, retained 30 days.
  • p50 / p95 / p99 latency per service.
  • Email, Slack, or webhook alerts.
promql
1# Auto-exposed PromQL endpoints
2rate(http_requests_total{service="api"}[5m])
3histogram_quantile(0.95, http_request_duration_bucket)
4container_memory_usage_bytes / container_memory_limit

Auto-scaling

Scale horizontally with one click, or let Dockfly do it for you based on CPU and request volume. Zero-downtime rollouts handle the rest.

  • Manual replica count or CPU-based autoscale.
  • Rolling deploys with health-check gating.
  • Per-service min/max bounds.
yaml
1scale:
2 min: 1
3 max: 8
4 metric: cpu
5 target: 70
6 cooldown: 60s

GitHub integration

Install the Dockfly GitHub App once. Branches deploy automatically, pull requests get isolated preview URLs, and merging cleans them up.

  • Auto-deploy on push to main, branches, or tags.
  • Pull request preview environments.
  • Status checks back to GitHub.
app.dockfly.app

PR #142 — Add invoice export

preview · pr-142.dockfly.app · DEPLOYED

ACTIVE

PR #141 — Fix slow query

preview · pr-141.dockfly.app · DEPLOYED

ACTIVE

main · 7c3a9f2

production · myapp.com · DEPLOYED

ACTIVE

All of this. Free to start.

No credit card. Upgrade only when you outgrow the free tier.

Start free →