feat(docker): add Dokploy deployment template
This commit is contained in:
parent
aef1e8e8c4
commit
091ac659ae
4 changed files with 86 additions and 0 deletions
|
|
@ -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]
|
||||
|
|
|
|||
14
docker/dokploy/docker-compose.yml
Normal file
14
docker/dokploy/docker-compose.yml
Normal 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: {}
|
||||
41
docker/dokploy/template.toml
Normal file
41
docker/dokploy/template.toml
Normal 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
22
docs/DOKPLOY.md
Normal 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`.
|
||||
Loading…
Add table
Reference in a new issue