Place an app.json file at the root of your repository (or in your Project Path) and Miget reads it on every build. The format follows the Heroku app.json schema, so an existing Heroku app.json usually works as-is.
app.json is read for apps deployed through GitHub or git push, including Dockerfile builds. Apps deployed from a container registry or a Docker Compose stack don’t use it.

Supported fields

Addons

Each entry in addons becomes a regular managed addon on your app: it shows up under Addons in the dashboard, and you manage, resize, back up, and delete it like any other addon.
app.json
Miget provisions the addons during your app’s first build that includes them, before the release phase or pre-deploy command runs, so migrations can connect right away. The build waits up to 5 minutes for the addons to become ready.

Plan names

You can write each addon as a Heroku plan or as a Miget shorthand: The shorthand names aren’t valid on Heroku. Use them only if you don’t need the file to keep working there.

Sizes

Each tier maps to a fixed Miget size. The addon’s CPU, RAM, and disk count toward your plan’s resources. PostgreSQL Valkey
Tiers above 8 Gi RAM are meant for custom plans. Contact us at hello@miget.com if you need one.
You can’t set a custom CPU, RAM, disk size, or version in app.json, and options is ignored. To get a different size or version, pick the closest tier and change the addon afterwards in the dashboard, or add the addon from the dashboard instead of app.json.

Connection variables

Miget sets one connection URL on your app for each addon, named after the addon’s as value: Use as to attach two addons of the same type:
app.json
This app gets DATABASE_URL, ANALYTICS_DB_URL, and REDIS_URL. If the variable already exists on your app, Miget keeps its value and doesn’t point it at the new addon.
PostgreSQL addons created from app.json have Public Access turned on. Turn it off on the addon page if you only connect from apps on Miget.

Redeploys and changes

  • Redeploying reuses the addon Miget already created for that as name. It doesn’t create a second one.
  • Changing a tier in app.json doesn’t resize an existing addon. Resize it in the dashboard.
  • Removing an entry from app.json doesn’t delete the addon. Delete it in the dashboard.
  • Addons you added in the dashboard aren’t matched to app.json entries. If your app already has a PostgreSQL addon from the dashboard, a heroku-postgresql entry creates a second database, and DATABASE_URL keeps pointing at the first one. Remove the entry from app.json in that case.

Unsupported addons

Miget provisions only PostgreSQL and Valkey from app.json. Other addons (for example mongolab or papertrail), MySQL, and tiers not listed above are skipped, and the build continues without them.