feat(docker): add Dokploy deployment template

This commit is contained in:
qs3c 2026-03-05 10:51:24 +08:00
parent aef1e8e8c4
commit 091ac659ae
4 changed files with 86 additions and 0 deletions

View file

@ -211,6 +211,15 @@ docker compose -f docker/docker-compose.yml pull
docker compose -f docker/docker-compose.yml --profile gateway up -d
```
### Dokploy Template
If you deploy PicoClaw on Dokploy, use the ready template files:
- `docker/dokploy/docker-compose.yml`
- `docker/dokploy/template.toml`
See [docs/DOKPLOY.md](docs/DOKPLOY.md) for details.
### 🚀 Quick Start
> [!TIP]

View file

@ -0,0 +1,14 @@
version: "3.8"
services:
picoclaw:
image: docker.io/sipeed/picoclaw:latest
restart: unless-stopped
environment:
TZ: ${TZ}
PICOCLAW_GATEWAY_HOST: ${PICOCLAW_GATEWAY_HOST}
volumes:
- picoclaw-workspace:/root/.picoclaw/workspace
volumes:
picoclaw-workspace: {}

View file

@ -0,0 +1,41 @@
[variables]
main_domain = "${domain}"
openrouter_api_key = "${password:40}"
[config]
env = [
"TZ=UTC",
"PICOCLAW_GATEWAY_HOST=0.0.0.0",
]
mounts = []
[[config.domains]]
serviceName = "picoclaw"
port = 18_790
host = "${main_domain}"
[[config.mounts]]
filePath = "/root/.picoclaw/config.json"
content = """
{
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace",
"restrict_to_workspace": true,
"model_name": "openrouter-default"
}
},
"model_list": [
{
"model_name": "openrouter-default",
"model": "openrouter/openai/gpt-4o-mini",
"api_key": "${openrouter_api_key}",
"api_base": "https://openrouter.ai/api/v1"
}
],
"gateway": {
"host": "0.0.0.0",
"port": 18790
}
}
"""

22
docs/DOKPLOY.md Normal file
View file

@ -0,0 +1,22 @@
# Dokploy Deployment
This repository includes a Dokploy-ready template under [docker/dokploy](../docker/dokploy).
## Included Files
- `docker/dokploy/docker-compose.yml`: runtime service definition
- `docker/dokploy/template.toml`: Dokploy template variables, domain mapping, and config mount
## What This Template Provides
- A persistent workspace volume at `/root/.picoclaw/workspace`
- Automatic gateway host binding to `0.0.0.0`
- A generated `config.json` mount with:
- model alias: `openrouter-default`
- model: `openrouter/openai/gpt-4o-mini`
- OpenRouter API key from template variable
## Usage Notes
- Set your domain and `openrouter_api_key` in Dokploy when deploying the template.
- If you prefer another provider/model, edit the mounted `config.json` content in `template.toml`.