| # Docker Deployment |
|
|
| ## Quick Start |
| 1) Setup env: |
| cp .env.example .env |
|
|
| 2) Login: |
| docker compose run --rm --service-ports chatmock-login login |
|
|
| - The command prints an auth URL, copy paste it into your browser. |
| - If your browser cannot reach the container's localhost callback, copy the full redirect URL from the browser address bar and paste it back into the terminal when prompted. |
| - Server should stop automatically once it receives the tokens and they are saved. |
|
|
| 3) Start the server: |
| docker compose up -d chatmock |
|
|
| 4) Free to use it in whichever chat app you like! |
|
|
| ## Configuration |
| Set options in `.env` or pass environment variables: |
| - `PORT`: Container listening port (default 8000) |
| - `CHATMOCK_IMAGE`: image tag to run (default `storagetime/chatmock:latest`) |
| - `VERBOSE`: `true|false` to enable request/stream logs |
| - `CHATGPT_LOCAL_REASONING_EFFORT`: minimal|low|medium|high|xhigh |
| - `CHATGPT_LOCAL_REASONING_SUMMARY`: auto|concise|detailed|none |
| - `CHATGPT_LOCAL_REASONING_COMPAT`: legacy|o3|think-tags|current |
| - `CHATGPT_LOCAL_FAST_MODE`: `true|false` to enable fast mode by default for supported models |
| - `CHATGPT_LOCAL_CLIENT_ID`: OAuth client id override (rarely needed) |
| - `CHATGPT_LOCAL_EXPOSE_REASONING_MODELS`: `true|false` to add reasoning model variants to `/v1/models` |
| - `CHATGPT_LOCAL_ENABLE_WEB_SEARCH`: `true|false` to enable default web search tool |
|
|
| ## Logs |
| Set `VERBOSE=true` to include extra logging for troubleshooting upstream or chat app requests. Please include and use these logs when submitting bug reports. |
|
|
| ## Test |
|
|
| ``` |
| curl -s http://localhost:8000/v1/chat/completions \ |
| -H 'Content-Type: application/json' \ |
| -d '{"model":"gpt-5-codex","messages":[{"role":"user","content":"Hello world!"}]}' | jq . |
| ``` |
|
|