Configuring Applications
A minimal piku
app has a root directory structure similar to this:
ENV
Procfile
app.py
worker.py
requirements.txt
Configuration Files
piku
relies on two configuration files shipped with your app to determine how to run it: ENV
and Procfile
.
- The
ENV
file contains environment variables that allow you to configure bothpiku
and your app, following the 12-factor app approach. - The
Procfile
tellspiku
what kind of workers to run
Runtime Detection
Besides ENV
and Procfile
, piku
also looks for runtime-specific files in the root of your app's directory:
- If there's a
requirements.txt
file at the top level, then the app is assumed to require Python. - If there's a
Gemfile
at the top level, then the app is assumed to require Ruby. - If there's a
package.json
file at the top level, then the app is assumed to require Node.js. - If there's a
pom.xml
or abuild.gradle
file at the top level, then the app is assumed to require Java. - If there's a
deps.edn
orproject.clj
file at the top level, then the app is assumed to require Clojure. - If there's a
Godeps
file at the top level, then the app is assumed to require Go.
Info
go.mod
support is currently in development.
These are not exclusive, however. There is also a sample Phoenix app that demonstrates how to add support for additional runtimes.