Deploy OpenViking on Pethost in one click
A context database for AI agents: memory, resources and skills in one place
What happens
- You sign in to Pethost or make an account, with a passkey, GitHub or Google.
- No machine yet? You pick a plan, and we prepare one for you. The link waits in your browser until it is ready.
- New project opens at the app. You fill in what it asks for and click Create project: OpenAI API key.
- In a minute or two the app is live at its own address with HTTPS. Its secrets are made for it at random, and its data is in the nightly backup.
- It is a project like any other: its compose.yaml, its .env, its logs and a terminal are in the panel, and your agent can change it, roll it back or restore it.
First steps
Open https://openviking.sam.pethost.app/studio/settings and paste the root key: it is OPENVIKING_ROOT_API_KEY in the project’s .env. Then create an account and a user at /studio/users: the user’s key is what the ov CLI, the SDKs and agents use. Embeddings and summaries go to OpenAI with your key. Data and ov.conf are kept in /app/.openviking.
What it runs
The template is this compose.yaml and the variables it writes into the project’s .env. Pethost runs the file as it is written.
services:
openviking:
image: ghcr.io/volcengine/openviking:v0.5.0
restart: unless-stopped
environment:
OPENAI_API_KEY: ${OPENAI_API_KEY}
OPENVIKING_ROOT_API_KEY: ${OPENVIKING_ROOT_API_KEY}
OPENVIKING_PUBLIC_BASE_URL: ${URL}
# The bot needs a user's key of its own; the server runs without it.
OPENVIKING_WITH_BOT: "0"
# Written to ov.conf in the volume at the first start only. The server
# expands the ${...} in it at every start, so a key changed in .env
# takes effect on a restart.
OPENVIKING_CONF_CONTENT: |
{
"server": {
"host": "0.0.0.0",
"port": 1933,
"root_api_key": "$${OPENVIKING_ROOT_API_KEY}"
},
"storage": {
"workspace": "./data",
"vectordb": { "name": "context", "backend": "local" },
"agfs": { "backend": "local" }
},
"embedding": {
"dense": {
"provider": "openai",
"api_key": "$${OPENAI_API_KEY}",
"model": "text-embedding-3-small",
"dimension": 1536
}
},
"vlm": {
"provider": "openai",
"api_key": "$${OPENAI_API_KEY}",
"model": "gpt-4o-mini"
}
}
volumes:
- data:/app/.openviking
volumes:
data: