Choose your inference path
Both paths run the same OpenMake application, and both talk to an OpenAI-compatible endpoint. The difference is where inference happens and who keeps it running.
- Hosted endpoint — faster evaluation, no GPU to operate, and the model provider sees the requests you send
- Self-hosted endpoint — you operate vLLM and LiteLLM, and the network, credentials, and model catalog stay yours
Prepare the runtime
OpenMake targets Node 24 and requires PostgreSQL. Docker is used for the reference database setup and opt-in sandbox services. The API listens on port 52416 and the web app on port 3000. Keep secrets out of the repository, and set your production URLs before you expose anything publicly.
git clone https://github.com/openmake/openmake_llm.git
cd openmake_llm
node --version # expects 24.x
docker --version
npm installConfigure the gateway
Point OpenMake at your endpoint and name the default chat model. Environment variable names, model IDs, and command lines are structural — they stay identical in every language.
Use .env.example as the complete configuration source. Generate the secrets instead of reusing example values; the first launch also requires API_KEY_PEPPER and ADMIN_PASSWORD, while external credentials require TOKEN_ENCRYPTION_KEY.
LLM_BASE_URL=http://localhost:4000
LLM_DEFAULT_MODEL=qwen3.6-35b-a3b
LLM_POOL_DEFAULT_CTX=262144
DATABASE_URL=postgresql://openmake:your_password@localhost:5432/openmake_llm
JWT_SECRET=$(openssl rand -hex 32)
API_KEY_PEPPER=$(openssl rand -hex 32)
ADMIN_PASSWORD=replace_with_a_strong_admin_password
TOKEN_ENCRYPTION_KEY=$(openssl rand -hex 32)
DB_AUTO_MIGRATE=trueStart and verify
Server startup applies pending migrations by default, so the first boot may take slightly longer than later ones. Then verify the path a real user takes rather than the fact that a process is listening.
- Confirm the API and web processes are both healthy
- Sign in and confirm the configured model appears in the composer
- Send one message and watch it come back from the model you intended
- Open the usage view and confirm the request was recorded

Operate deliberately
A few switches change the operating model rather than the appearance of the product. Decide on them before you invite users.
Skill auto-selection ships disabled; chat and agent tasks only pick skills on their own when SKILL_AUTO_SELECT_ENABLED=true. Keep external provider keys optional and separate from the local default route.
- DB_AUTO_MIGRATE=false — opt out of startup migrations when a manual migration process is required
- SKILL_AUTO_SELECT_ENABLED=true — allow chat and agent tasks to select skills automatically
- Register external provider keys per user, or share an operator key with a daily token budget

OpenMake