diff --git a/coolify/README.md b/coolify/README.md index 19ebaea35..8c84ff4d1 100644 --- a/coolify/README.md +++ b/coolify/README.md @@ -1,82 +1,59 @@ -# PicoClaw Coolify Deployment +# PicoClaw on Coolify Deploy PicoClaw on Coolify with persistent storage and easy configuration editing. -## Quick Start +## How it works -### 1. Configuration +- Init container runs `picoclaw onboard` to create config + workspace +- Gateway container runs the bot +- Data persists via bind mount -Edit `docker-compose.coolify.yml` to set the desired port: +## Change bind folder & port + +Edit `docker-compose.coolify.yml`: ```yaml services: + picoclaw-init: + volumes: + - /YOUR/PATH/:/root/.picoclaw + picoclaw-gateway: + volumes: + - /YOUR/PATH/:/root/.picoclaw ports: - - "${HOST_PORT:-18790}:18790" + - "YOUR_PORT:18790" ``` -Change `HOST_PORT` to your desired port (e.g., `18800:18790`). +Replace: +- `/YOUR/PATH/` - your folder path (e.g., `/home/lou/Dev/apps/picoclaw/`) +- `YOUR_PORT` - your desired port (e.g., `18800`) -### 2. Persistent Storage (Bind Mount) +## Deploy -In Coolify UI, add a persistent storage: +1. Create folder on server: `mkdir -p /YOUR/PATH/` +2. In Coolify: Add Docker Compose resource +3. Paste `docker-compose.coolify.yml` +4. Add persistent storage: + - Type: Bind Mount + - Source: `/YOUR/PATH/` + - Destination: `/root/.picoclaw` +5. Deploy +6. Edit config at `/YOUR/PATH/config.json` -- **Type:** Bind Mount -- **Source Path:** `/apps/picoclaw/` -- **Destination Path:** `/root/.picoclaw` - -### 3. Deploy - -Deploy from Coolify. The init container will run `picoclaw onboard` on first run, creating: -- `config.json` -- `workspace/` (AGENTS.md, SOUL.md, MEMORY.md, USER.md) -- `sessions/` -- `skills/` - -## Editing Configuration +## Edit Config ### Via SSH ```bash -nano /apps/picoclaw/config.json +nano /YOUR/PATH/config.json ``` -### Via VSCodium +### Via VSCodium/VSCode 1. Install Remote-SSH extension 2. Connect to server: `ssh user@your-server` -3. Open folder: `/apps/picoclaw/` - -### Via VSCode - -Same as VSCodium - use Remote SSH extension. - -## File Structure - -After first run, the data folder contains: - -``` -/apps/picoclaw/ -├── config.json # Main configuration (edit this!) -├── workspace/ # Agent workspace -│ ├── AGENTS.md # Agent instructions -│ ├── SOUL.md # Personality/beliefs -│ ├── MEMORY.md # Long-term memory -│ ├── USER.md # User preferences -│ └── skills/ # Installed skills -├── sessions/ # Session history -└── skills/ # Global skills -``` - -## Configuration - -Edit `config.json` to configure: -- Model provider (OpenAI, Anthropic, DeepSeek, etc.) -- Channels (Telegram, Discord, WhatsApp, QQ, etc.) -- Tools (web search, exec, cron, MCP) -- Agent defaults - -See `config/config.example.json` in the project root for full reference. +3. Open folder: `/YOUR/PATH/` ## Troubleshooting @@ -86,28 +63,4 @@ Check logs: `docker logs picoclaw-gateway` ### Config not being read -Ensure bind mount path `/apps/picoclaw/` is correctly set in Coolify persistent storage. - -### Port already in use - -Edit `docker-compose.coolify.yml` and change the port mapping. - -## Example Coolify Setup - -``` -Persistent Storage: - - Source: /apps/picoclaw/ - - Destination: /root/.picoclaw - - Type: Bind Mount -``` - -## Building from Source (Optional) - -If you need to build your own image: - -```bash -cd picoclaw -docker build -f docker/Dockerfile -t my-picoclaw:latest . -``` - -Then update `docker-compose.coolify.yml` to use `my-picoclaw:latest`. +Ensure bind mount path is correctly set in Coolify persistent storage.