Setup Radicale on OpenBSD
— 217 words — 2 min
Radicale lets you synchronize your calendar, contacts and tasks between multiple devices that support CalDAV and CardDAV. It’s written in Python.
On OpenBSD you can install the radicale with a simple
pkg_add radicale
Adjust the configuration file in /etc/radicale/config.
[server]
hosts = 127.0.0.1:5232
[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = bcrypt
Generate a password for user1 (run as root).
htpasswd /etc/radicale/users user1
Adjust permissions so that user of the _radicale group can read the
file containing the users.
cd /etc/radicale
chown root:_radicale users
chmod 640 users
I’m using nginx here to proxy the relevant requests to radicale. You can
also configure radicale to listen on 0.0.0.0 and configure a
certificates and key for TLS; or configure it to listen on an internal
network address when you’re already running your own VPN.
Adjust the nginx configuration to proxy requests to the radicale
service in /etc/nginx/nginx.conf.
server {
listen 443 ssl;
[...]
location /radicale/ {
proxy_pass http://localhost:5232/; # The / is important!
proxy_set_header X-Script-Name /radicale;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Authorization;
}
}
For an Apache configuration or managing radicale users with the reverse proxy take a look at the official documentation.
Replacing httpd with Nginx
If you’re replacing httpd on OpenBSD with nginx, you might want to
adjust the logrotate configuration, too. Adjust the configuration in
/etc/newsyslog.conf.
Replace these two lines
/var/www/logs/access.log 644 4 * $W0 Z "pkill -USR1 -u root -U root -x httpd"
/var/www/logs/error.log 644 7 250 * Z "pkill -USR1 -u root -U root -x httpd"
with
/var/www/logs/access.log 644 4 * $W0 Z /var/run/nginx.pid SIGUSR1
/var/www/logs/error.log 644 7 250 * Z /var/run/nginx.pid SIGUSR1
If you use nginx you should—definitely—read the pitfalls and common mistakes page.
Articles from blogs I follow around the net
tweet
India tech friends: I just bought my ticket to IndiaFOSS in BLR Sept 26-27: https://fossunited.org/indiafoss/2026 Want to meet? Email me: https://sive.rs/contact
via Derek Sivers June 12, 2026Status update, February 2026
Hi all! Lars has contributed an implementation independent test suite for the scfg configuration file format. This is quite nice for implementors, they get a base test suite for free. I’ve added support for it for libscfg, the C implementation. I’ve spent some…
via emersion February 22, 2026Generated by openring