Quick Start
Install Monoize, create the first account, and send the first request.
Requirements
Choose one installation method:
- Docker. The published image supports Linux x86-64 and ARM64.
- Release binary. Download an archive for Linux, macOS, or Windows from the GitHub Releases page.
- Build from source. Install a stable Rust toolchain and Bun. A release build compiles the React dashboard and embeds it in the executable.
Run with Docker
Run the image with a persistent SQLite volume:
docker run -d \
--name monoize \
--restart unless-stopped \
-p 8080:8080 \
-v monoize-data:/app/data \
ghcr.io/ikaleio/monoize:latestSet MONOIZE_DATABASE_DSN with -e to use PostgreSQL or a non-default SQLite location.
Build from source
cargo build --release
./target/release/monoizeThe server listens on 0.0.0.0:8080 by default. Set MONOIZE_LISTEN to change the address.
Create the first account
- Open
http://localhost:8080in a browser. - Register an account. The first registered account becomes
super_admin. This happens even when public registration is disabled.
Configure a route
Complete these steps in the dashboard:
- Create a Provider. See Providers and Channels.
- Add at least one Channel with its upstream base URL and credential.
- Map a logical model name to the Channel.
- Create an API key. See API Keys.
Send the first request
Call the logical model through any supported protocol. Example with OpenAI Responses:
curl http://localhost:8080/v1/responses \
-H 'Authorization: Bearer sk-your-monoize-key' \
-H 'Content-Type: application/json' \
-d '{
"model": "your-logical-model",
"input": "Hello",
"stream": true
}'Example with Chat Completions:
curl http://localhost:8080/v1/chat/completions \
-H 'Authorization: Bearer sk-your-monoize-key' \
-H 'Content-Type: application/json' \
-d '{
"model": "your-logical-model",
"messages": [{ "role": "user", "content": "Hello" }]
}'The downstream protocol does not need to match the upstream Channel type. Monoize converts between them.
Verify the request
Open the Logs page in the dashboard. The request appears with its status, latency, token usage, and cost. See Request Logs.