inline

inline on your own servers

One container runs the portal, the GitHub webhook receiver and the review worker, beside SQL Server, Redis and an Azure Blob compatible store. Everything is set from the environment, and the models run on the cloud accounts you already have.

GitLab, self-hosting and your own models1:33 · narrated, with captionsChapters and transcript

One compose file,
then sign in

The compose file starts the app, SQL Server 2022, Redis, Azurite for blob storage and a one-shot migrate step. Migrate creates the database if it is missing and applies the schema, and the app starts only after it exits cleanly. A readiness probe answers 503 until the database does, so your orchestrator holds traffic until the deployment can serve it.

Models on the accounts
you already pay for

Set ANTHROPIC_API_KEY or OPENAI_API_KEY, or add credentials in Settings, Platform, Models: Azure OpenAI, AWS Bedrock, Google Vertex AI or an internal gateway URL. Bedrock and Azure OpenAI work over private endpoints. Each catalog model shows which credential serves it, and workspaces can bring their own keys on top.

How it works

Invite-only from the first boot

A fresh database admits no email domain at all. You admit yours and make the first platform operator from a terminal with the bootstrap script, which runs as a dry run until you pass --write and is safe to run twice. Both steps land in the platform audit log. From then on, sign-ups, plans, alerts and model keys are managed in the portal.

Upgrades that refuse to drop data

Pull the new code and run compose again. Migrate applies the additive schema diff before the app starts, in one transaction, and refuses any change that would drop data, so the app does not start on a destructive diff. A failed upgrade leaves the database as it was, and the next boot retries from the same place.

Starts without the internet

The containers need no internet access to start. Build the image where you have network access and move it in. Each outside service is optional and fails in a stated way: without a model endpoint AI calls name what to configure, without the sandbox service sandbox runs fail fast, and without web search research uses repository evidence alone.

Secrets under your key

INLINE_ENCRYPTION_KEY encrypts every secret inline keeps in the database: the GitHub App private key, model credentials and Teams webhook URLs. Back it up with the database. If it is ever lost, inline flags those secrets for re-entry instead of failing.

Included

Containersapp, SQL Server 2022, Redis 7, Azurite and a migrate step
Your databaseany SQL Server or Azure SQL, from one connection string
Sign-inemail sign-in links over your SMTP relay, or Microsoft Entra ID
Health probes/api/health for liveness, /api/health/ready for readiness
More workersrun several instances; a restart drains jobs back to the queue
Every feature onno plan limits unless you turn billing enforcement on
Backupsthe database, the blob store and the encryption key together
Limitsgithub.com repositories; blob storage over the Azure Blob API

Run inline inside your network

Tell us where it will run and which model accounts you use, and we will help you plan the first deployment.