Skip to content

Deploy with Heroku and Neon

Use this fork-based quick deployment if you do not have an instance yet. You need GitHub, Neon, and a compute-provider account. These providers are convenience options, not InKCre requirements; Advanced Self-Hosting covers your own infrastructure.

Keep credentials in a password manager. API keys let the workflow act on your hosting accounts; they are different from sign-in passwords.

Choose Heroku instead of Render; you do not need both providers. The database still lives in Neon, while Heroku runs two apps: Core and PostgREST.

  1. Open InKCre/core-py, choose Fork, and enable workflows in your fork's Actions tab. Create a dedicated project in Neon, keeping the default neondb database and neondb_owner role. Save its project ID and create a Neon API key with access to it.
  2. Create a Heroku account with billing enabled and obtain an API key. The workflow creates the two apps; you do not need to provision a Heroku database add-on.
  3. In your fork's Settings → Secrets and variables → Actions, add the following settings. Generate independent random values for the three credential secrets and retain them in your password manager.
KindNameValue
SecretNEON_API_KEYYour Neon API key.
SecretHEROKU_API_KEYYour Heroku API key.
SecretJWT_SECRETA new random secret of at least 32 ASCII characters.
SecretCORE_DATABASE_PASSWORDA separate random password of at least 32 ASCII characters.
SecretPOSTGREST_DATABASE_PASSWORDAnother random password of at least 32 ASCII characters.
VariableNEON_PROJECT_IDYour Neon project ID.
VariableHEROKU_APP_PREFIXA unique lowercase app prefix, such as alex-inkcre, between 3 and 18 characters.
  1. Open Actions → Deploy self-hosted InKCre to Heroku → Run workflow, select your fork's main branch, and wait for the run to succeed.
  2. Save the Core URL, PostgREST URL, and Core Peer ID from its summary. Open Core /readyz and wait for HTTP 200, then continue to Connect the CLI.

The workflow runs one Eco web dyno per app. Heroku charges and Eco sleep behavior apply. Keep the same database passwords on reruns; replacing them is a coordinated credential rotation, not a routine redeploy. As with Render Free, sleeping Core cannot provide continuous collection. The maintained deployment procedure and recovery details live in the Core Heroku self-hosting guide.

Keep your instance credentials private. JWT_SECRET grants control of the instance, not a limited personal login. Do not paste it into an online JWT generator, an issue, a chat, or your public fork. This deployment does not isolate different users from one another. Start with your own information and trusted devices.

Next: Connect the CLI, or return to the self-hosted walkthrough.