The Webcoast
Back to Radicale

Setting up Radicale

A tiny server, with the actual setup work mostly in getting users and permissions right.

  1. 1

    Run the container

    A well-maintained community image handles the WSGI setup that Radicale needs to run properly behind a reverse proxy.

    services:
      radicale:
        image: tomsquest/docker-radicale:latest
        container_name: radicale
        restart: unless-stopped
        ports:
          - "5232:5232"
        volumes:
          - ./data:/data
          - ./config:/config
  2. 2

    Create a user

    Radicale authenticates against a standard htpasswd file, generated once per user.

    docker exec -it radicale htpasswd -B /config/users kevin
  3. 3

    Set permissions in the rights file

    The rights file controls who can read or write which collections. This is a common snag: the permission letters are case-sensitive, RW grants read-write, rw doesn't do what it looks like it should.

    # config/rights
    [kevin-private]
    user: kevin
    collection: kevin/.*
    permissions: RW
  4. 4

    Add it to a client

    DAVx⁵ on Android, or the built-in Calendar and Contacts settings on iOS and macOS, all take the server URL directly (http://this-server:5232/username/) along with the username and password just created.

Further reading