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
|
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
|
### 🚀 Quick Start
|
||||||
|
|
||||||
> [!TIP]
|
> [!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