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.
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.
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.
1# dockfly.yaml (auto-generated, editable)2project: my-saas3services:4 web:5 type: web6 build: nixpacks7 env: { PORT: 3000 }8 worker:9 type: worker10 command: ./worker11 postgres:12 type: db13 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.
myapp.com
ACTIVE · TLS expires in 89 days · CNAME verified
*.myapp.com
ACTIVE · wildcard via DNS-01 · 4 services bound
preview.myapp.com
ACTIVE · 12 preview URLs
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.
1# Set secrets from your terminal2$ dockfly env set DATABASE_URL=postgres://… --service api3✓ Set 1 variable (encrypted at rest)45# Or copy from .env6$ dockfly env import .env --service api7✓ 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.
1# Auto-exposed PromQL endpoints2rate(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.
1scale:2 min: 13 max: 84 metric: cpu5 target: 706 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.
PR #142 — Add invoice export
preview · pr-142.dockfly.app · DEPLOYED
PR #141 — Fix slow query
preview · pr-141.dockfly.app · DEPLOYED
main · 7c3a9f2
production · myapp.com · DEPLOYED