Docker Deployment¶
The WeiLink Docker image bundles the MCP / OpenAPI servers (for AI agents and other LLM tools to integrate with) and the admin panel (web UI for session management) in a single container. For CLI usage outside Docker, see CLI Reference.
Quick Start¶
This starts both the MCP SSE server on port 8000 and the admin panel on port 8080. Open http://localhost:8080 in your browser to manage sessions.
Default Entrypoint¶
The container runs the following command by default:
You can override this by appending your own command:
# Admin panel only
docker run -p 8080:8080 -v weilink-data:/data/weilink oaklight/weilink \
weilink admin --host 0.0.0.0 -p 8080 -d /data/weilink
# OpenAPI server + admin panel
docker run -p 8000:8000 -p 8080:8080 -v weilink-data:/data/weilink oaklight/weilink \
weilink openapi --host 0.0.0.0 -p 8000 --admin-port 8080 -d /data/weilink
Ports¶
| Port | Service |
|---|---|
8000 |
MCP SSE / OpenAPI server |
8080 |
Admin panel |
Data Persistence¶
Session tokens and context data are stored in /data/weilink inside the container. Always mount a volume to this path to persist data across container restarts — otherwise you'll need to re-scan the QR code each time.
Multiple Profiles¶
Use different Docker volumes to isolate profiles:
# Personal bot
docker run -d --name weilink-personal \
-p 8000:8000 -p 8080:8080 \
-v weilink-personal:/data/weilink \
oaklight/weilink
# Work bot
docker run -d --name weilink-work \
-p 8001:8000 -p 8081:8080 \
-v weilink-work:/data/weilink \
oaklight/weilink
Docker Compose¶
services:
weilink:
image: oaklight/weilink
ports:
- "8000:8000" # MCP SSE
- "8080:8080" # Admin panel
volumes:
- weilink-data:/data/weilink
restart: unless-stopped
volumes:
weilink-data:
For multiple profiles:
services:
bot-personal:
image: oaklight/weilink
ports:
- "8000:8000"
- "8080:8080"
volumes:
- personal-data:/data/weilink
restart: unless-stopped
bot-work:
image: oaklight/weilink
ports:
- "8001:8000"
- "8081:8080"
volumes:
- work-data:/data/weilink
restart: unless-stopped
volumes:
personal-data:
work-data: