Drop any file to identify it
No upload. No signup. No sending your file halfway across the internet.
We tell you what it is, right here in your browser.
Drop it!
Let go to identify this file.
Couldn't identify this file
Need to convert it? fwip it →
Procfile originated at Heroku as a simple way to declare what processes constitute an app. Format: one line per process type, like `web: bundle exec puma` or `worker: bundle exec sidekiq`. Heroku's dyno formation (the units of deployed compute you pay for) is built around the process types declared here — `heroku ps:scale web=2 worker=1` scales the named processes independently.
Beyond Heroku, the Procfile became a de facto standard. The `foreman` gem (Ruby) and `overmind` (a foreman replacement) read Procfile to launch your full local dev stack with one command — Rails server, Sidekiq worker, asset watcher, all colour-coded in one terminal. Newer alternatives like `mprocs` or `docker-compose` solve the same problem with different trade-offs.
Many projects keep two Procfile files: `Procfile` (production process types) and `Procfile.dev` (dev-only processes like asset watchers and debuggers). Foreman switches with `-f Procfile.dev`. The format is intentionally minimal — no environment variables, no health checks, no resource limits. For richer process management you graduate to systemd, Kubernetes, or Heroku-style PaaS dyno configuration.