Setup Radicale on OpenBSD

— 335 words — 2 min

#openbsd 


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

Dismissed!

Dismissing gives me a quick little lift. “That guy is an idiot!” “That place sucks!” There. Now I feel superior. Now I don’t have to think about it. I don’t even need first-hand experience. I can just echo any complaint I’ve heard. I’ve done this with restaurants…

via Derek Sivers blog November 18, 2024

2024-11-06

Post-election mood.

via Signs of Triviality November 6, 2024

Status update, October 2024

Hi! This month XDC 2024 took place in Montreal. I wasn’t there in-person, but thanks to the organizers I could still ask questions and attend workshops remotely (thanks!). As usual, XDC has been a great reminder of many things I wanted to do but which got bur…

via emersion October 21, 2024

Generated by openring