openclaw-caldav/README.md

2.7 KiB

🦞 OpenClaw CalDAV Installer

One-command deployment of Radicale CalDAV/CardDAV on Ubuntu/Debian, pre-configured for OpenClaw integration.

What It Does

  • Installs Docker, Nginx, Certbot, and apache2-utils (if not present)
  • Deploys Radicale via Docker Compose with bcrypt authentication
  • Configures Nginx reverse proxy with SSL termination
  • Obtains a free Let's Encrypt SSL certificate
  • Binds to 127.0.0.1 for secure OpenClaw localhost access

Prerequisites

Requirement Details
OS Ubuntu 20.04+ / Debian 11+
Access Root (sudo)
Ports 80 and 443 open to the internet
DNS A record pointing your domain to this server's IP
RAM 512 MB minimum

Quick Start

# Download the installer
git clone https://github.com/openclaw/caldav-installer.git
cd caldav-installer

# Run the wizard
sudo bash install.sh

The wizard will ask you for:

  1. Domain name (e.g. cal.example.com)
  2. Email (for Let's Encrypt SSL)
  3. CalDAV username & password
  4. Port (default: 5232)
  5. Install directory (default: ~/caldav-docker)

Client Setup

Apple Calendar (macOS / iOS)

  1. Settings → Accounts → Add Account → Other → CalDAV
  2. Server: https://YOUR_DOMAIN
  3. Username & password as configured

Thunderbird / GNOME Calendar

  • URL: https://YOUR_DOMAIN/USERNAME/calendar.ics/

OpenClaw Integration

openclaw config set tools.calendar.provider "caldav"
openclaw config set tools.calendar.caldav.url "https://YOUR_DOMAIN"
openclaw config set tools.calendar.caldav.username "YOUR_USER"
openclaw config set tools.calendar.caldav.password "YOUR_PASSWORD"

OpenClaw connects internally via http://localhost:5232.

Architecture

Internet → Nginx (443/SSL) → 127.0.0.1:5232 → Radicale Container
                                                      ↕
OpenClaw Gateway → localhost:5232 ──────────> /data/collections

Management

cd ~/caldav-docker

# Start / Stop / Restart
docker compose up -d
docker compose down
docker compose restart

# Add a new user
sudo htpasswd -B ./config/users newuser
docker compose restart

# View logs
docker compose logs -f

# Check status
docker compose ps

Troubleshooting

Issue Fix
SSL cert failed Verify DNS A record; check ports 80/443 are open
401 Unauthorized Check config/users file has the correct user entry
Container won't start Check logs: docker compose logs radicale
Can't sync calendar Ensure client URL ends with /username/calendar.ics/

License

MIT — use freely, contribute back. 🦞