Skip to main content

Overview

Deploy profClaw in Docker for production use with persistent storage, Redis for job queues, and optional Nginx for TLS termination.

Quick Start

For a minimal single-container setup without Redis:
This runs in mini mode without Redis. Background jobs use an in-memory queue, which does not persist across restarts. For production, use the Docker Compose setup below with Redis.
Create a docker-compose.yml file:
Start the stack:
Verify it is running:

Pico Mode (Resource-Constrained)

For Raspberry Pi or other devices with limited resources, use the pico image with explicit memory limits:
This configuration uses Ollama running on the host for AI inference, keeping all model compute off the constrained container. See the Local LLM guide for Ollama setup.

With Nginx Reverse Proxy

Add Nginx for TLS termination and a clean public URL:
Example nginx.conf:
For automatic certificate renewal, replace the nginx service with Caddy, which handles TLS automatically: caddy:2-alpine. The Caddyfile is simpler than the nginx config above.

Environment Variables

Pass secrets via environment variables rather than mounting them into the settings.yml file. Use a .env file with docker compose --env-file:

Health Checks

Add a health check to the profclaw service in your Compose file for automatic restart on failure:

Backup

Backup the profclaw data volume before upgrades or regularly via cron:
Restore from backup:
See the Backup and Restore guide for scheduled backup configuration.

Updating

Pull the latest image and recreate the containers:
Docker Compose only recreates containers whose image has changed, so Redis is not disrupted if only the profclaw image updated.

Self-Hosted Deployment

Configure public webhooks and systemd for VPS deployments.

Backup and Restore

Automated backups, retention policies, and restore procedures.

Monitoring

Health endpoints, metrics, and alerting for production deployments.

Security Overview

Configure security modes and guards for production.