Download & Install

Run Inwardis on your own infrastructure with Docker. Up and running in under a minute — including the MCP endpoint your AI agents connect to.

Latest release: checking… Release notes →

Prerequisites

  • Docker 20+ with Docker Compose
  • 2 GB RAM minimum (4 GB recommended)
  • Any OS that runs Docker — Linux, macOS, or Windows

Quick Start

1 Get a license key — your download link comes with it

Request a free trial key or buy a license. The email contains your key and your personal download link for the product bundle.

2 Download the bundle and the Compose file into a directory

Save inwardis-bundle-<version>.tar.gz from your personal link (the filename carries the version, e.g. inwardis-bundle-1.0.0.tar.gz), then:

Linux & macOS

mkdir inwardis && cd inwardis
curl -O https://inwardis.com/downloads/docker-compose.prod.yml
3 Create a .env file with the three required secrets and your version

Linux & macOS

cat > .env <<EOF
POSTGRES_PASSWORD=$(openssl rand -hex 16)
JWT_SECRET=$(openssl rand -hex 32)
INWARDIS_ENCRYPTION_KEY=$(openssl rand -base64 24)
INWARDIS_VERSION=<version>   # e.g. 1.0.0 — must match your downloaded bundle
EOF

There are no insecure defaults — Compose refuses to start without the secrets, and the version must match the bundle you downloaded or docker compose up fails with image not found.

On Windows? Steps 2 and 3 look different

Docker Desktop uses WSL2 as its engine, but it does not give you a Linux shell — the distributions it installs are internal and do not appear in the Start menu. So PowerShell is the path that needs nothing extra, and it is below.

First — check the engine

docker info --format "{{.OSType}} {{.Architecture}}"

It must print linux x86_64. If it prints windows, Docker Desktop is in Windows-containers mode — switch with the tray icon's Switch to Linux containers…. If it errors, the engine is not running yet; wait for the whale icon to go steady. A docker load that waits a long time and then fails with an API error mentioning Linux images is this, not the bundle.

Step 2 — PowerShell

mkdir inwardis; cd inwardis
curl.exe -O https://inwardis.com/downloads/docker-compose.prod.yml

Spell out curl.exe: plain curl is an alias for Invoke-WebRequest, which has no -O.

Step 3 — PowerShell

$rng = [System.Security.Cryptography.RandomNumberGenerator]::Create()
$b = New-Object 'System.Byte[]' 16; $rng.GetBytes($b)
$pg  = ($b | ForEach-Object { $_.ToString('x2') }) -join ''
$b = New-Object 'System.Byte[]' 32; $rng.GetBytes($b)
$jwt = ($b | ForEach-Object { $_.ToString('x2') }) -join ''
$b = New-Object 'System.Byte[]' 24; $rng.GetBytes($b)
$key = [Convert]::ToBase64String($b)

@"
POSTGRES_PASSWORD=$pg
JWT_SECRET=$jwt
INWARDIS_ENCRYPTION_KEY=$key
INWARDIS_VERSION=<version>
"@ | Set-Content -Encoding ascii .env

-Encoding ascii is required, not cosmetic: PowerShell writes UTF-16 by default and Docker Compose reads that as binary, so the first variable silently goes missing. openssl is not on Windows, which is why the secrets come from RandomNumberGenerator — never Get-Random, which is not a cryptographic source.

Steps 4 and 5 are the same on every platform: docker load, then docker compose up -d.

Already using WSL? If you have a Linux distribution installed — you would have added it yourself, or with wsl --install — the Linux commands above work inside it unchanged. Enable that distribution first under Docker Desktop → Settings → Resources → WSL integration, or docker will not be on its path.

Optional settings — add to the same .env whenever you want them

SMTP_HOST, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD, SMTP_AUTH, SMTP_STARTTLS
Outgoing email: invitations, notifications, and login codes if you turn on email MFA. Without it the product runs and logs you in; those emails simply are not sent.
INWARDIS_FEATURE_COLLABORATION, INWARDIS_FEATURE_VERSIONING, INWARDIS_FEATURE_MCP
Feature switches, all true by default; also toggleable in the Admin panel.
RATE_LIMIT_RPM, RATE_LIMIT_LOGIN, RATE_LIMIT_ENABLED
API and login rate limits.
INWARDIS_METRICS_SCRAPE_TOKEN
Lets Prometheus read /actuator/prometheus.
JAVA_OPTS
Extra JVM flags, e.g. -Xmx2g.

Full reference with defaults, OIDC single sign-on and reverse-proxy notes: INSTALL.md, or Help → Installation inside the product.

4 Load the images and start Inwardis
docker load -i inwardis-bundle-<version>.tar.gz
docker compose -f docker-compose.prod.yml up -d
5 Open in your browser and activate
open http://localhost:8080

Register the first account, then go to Admin > License and paste the key from step 1. Without a key the application runs read-only; a paid key never expires, so this is a one-time step.

Updating

New releases appear on your personal download link (the one from your key email) while your subscription is active — and every version you were ever entitled to stays re-downloadable there, forever. What changed in each one is on the releases page. To update: download the newer bundle, then

docker load -i inwardis-bundle-<new version>.tar.gz
# then update INWARDIS_VERSION in .env and:
docker compose -f docker-compose.prod.yml up -d

Your data is preserved across updates. If the subscription lapses, the version you already run keeps working — there is nothing to renew inside the product, and no phone-home to fail.

Connect an AI agent

Inwardis ships an MCP server, so an assistant can read and build models directly. It is on out of the box and reaches nothing until you issue a key — every client authenticates with a scoped key you create and can revoke.

  1. 1. Issue an API key under Admin > API Keys and copy it — it starts with ink_ and is shown once
  2. 2. Point your MCP client at the endpoint below, sending the key as a bearer token
POST http://localhost:8080/api/v1/mcp
Authorization: Bearer ink_...

Start the agent with the learn tool: it hands over the modelling concepts and your own template vocabulary before the agent writes anything. Keys are scoped, revocable and rate-limited, and every call lands in the audit log.

Not connecting an agent? Set INWARDIS_FEATURE_MCP=false to remove the endpoint entirely, rather than leaving it locked.

System requirements

Component Minimum Recommended
RAM 2 GB 4 GB
Disk 1 GB 5 GB
Docker 20.0+ with Docker Compose v2
OS Linux, macOS, or Windows (any OS with Docker support)

Data & Backups

All data is stored in a PostgreSQL database within the Docker volume. To back up your data:

docker compose exec postgres pg_dump -U inwardis inwardis > backup.sql

Your model never leaves your infrastructure. Inwardis has no telemetry, analytics, or phone-home functionality — licensing included.

For a portable copy of everything — database, version history and attachments in one file — use Admin > Backup to export a .inwbak archive.

Your personal download link, your licence key and the link that manages your subscription are all in the email we sent when you bought. If that email is gone, enter your address and we will send them again.

We answer the same way whether or not the address has an account — so this form can never be used to find out who our customers are.