Buildpacks
git push and Flynn detects Go, Node.js, Python, Ruby, PHP, Java, Gradle, Scala, Clojure, or static sites. Point at a custom buildpack when you need one.
Product
From the first push to the tenth rollback, Flynn covers the parts of running software that teams otherwise stitch together by hand.
Build and deploy
Flynn does not ask you to repackage your application. Pick the input that matches how the team already works.
git push and Flynn detects Go, Node.js, Python, Ruby, PHP, Java, Gradle, Scala, Clojure, or static sites. Point at a custom buildpack when you need one.
Switch an app to the container stack and the same git push builds your Dockerfile on the cluster with BuildKit.
Already build images in CI? Push one straight from your machine and Flynn turns it into a release with its entrypoint, command, and environment.
Connect a repository, deploy a branch from the dashboard or CLI, auto-deploy on push, and optionally wait for GitHub Checks to pass first.
Run and scale
Code, configuration, and process limits all flow through releases, so history and rollback work the same way everywhere.
The new release starts before the old one stops. If the new processes fail to come up, Flynn rolls back automatically. You can also roll back by hand at any time.
Declare web, worker, and any other process types, then scale each one separately. Web-facing process types get their own routes.
Assign small, medium, or large CPU and memory runtimes per process type. Operators can define their own runtimes or allow raw limits. Those amounts cap the process. Optionally reserve them on the host at schedule time.
Set environment variables and Flynn cuts a new release around the same code. Secrets stay out of the repository.
Run migrations or an interactive console using the app's release. With the scheduler plugin, add cron or interval jobs per app.
Attach a volume to a process type when it needs disk that survives a restart or a reschedule.
Route and secure
A router on every host handles HTTP, HTTPS, and TCP, so you do not need another load balancer in front of the cluster.
Add the hostnames you own to any app, including the root domain of the platform.
Let's Encrypt certificates issued and renewed by the cluster, or bring your own. HTTP/2 comes with it.
Route a path to a different app, publish TCP services, and enable cookie-based sticky sessions where an app needs them.
Apps talk to each other through routes and to databases through injected credentials — never directly across the cluster network.
Data, observability, people
Provision Postgres with one command; Flynn injects the connection URL. Add MariaDB, MongoDB, Redis, Kafka, or ClickHouse as plugins. See the catalog →
Follow logs from the CLI or dashboard, forward them to syslog, export host metrics over OpenTelemetry, and set threshold alerts by email or webhook.
The dashboard signs people in and grants View, Deploy, Manage, or Admin on each app. Administrators can compose custom roles from fine-grained permissions.
A web UI installed as a plugin: create and deploy apps, scale, edit config, manage routes and resources, read logs, browse releases, schedule jobs, set alerts, and manage users and roles.
One binary for macOS, Linux, and Windows. Apps, releases, scaling, env, routes, logs, resources, one-off jobs, export and import — and plugin commands appear automatically once a plugin is installed.
Next
Follow one app from push to production, including what happens when a release goes wrong.