Migrar calendarios y contactos de Tuta a Radicale

2025–03–01

Despues de dejar Tuta y Fastmail a cambio de Migadu, ver articulo, probé radicale. Me pareció que hacía justo lo que necesitaba para la syncronizacion de mi calendario y contacto,, ya que proporciona ambos servicios (CalDAV) / (CardDAV) y puedo usar en todos mis despositivos. En Linux con (Thunderbird) y en Android con (Davx5) .

La configuración que elegí para el servidor fue ejecutar Radicale usando docker + docker-compose, pero tambien esta en el repositorio de @epel como radicale3 en AlmaLinux 9.X.

El archivo docker-compose

services:
  radicale:
    image: tomsquest/docker-radicale
    container_name: radicale
    ports:
      - 127.0.0.1:5232:5232
    init: true
    read_only: true
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    cap_add:
      - SETUID
      - SETGID
      - CHOWN
      - KILL
    deploy:
      resources:
        limits:
          memory: 256M
          pids: 50
    healthcheck:
      test: curl -f http://127.0.0.1:5232 || exit 1
      interval: 30s
      retries: 3
    restart: unless-stopped
    volumes:
      - ./data:/data
      - ./config:/config

Ejecutar el contenedor

$ docker-compose up -d

Caddyfile

Un ejemplo seria:

(basic_auth) {
        basic_auth {
                <username> <hash password>
        }
}

radicale.domain {
        import basic_auth
        reverse_proxy 127.0.0.1:5232
}

He usado caddy basic_auth, porque no necesito mas usuarios. Pero tambien se puede hacer configurar la autenticación a Radicale desde archivo de configuracion que vera, mas abajo .

Configuracion

Puede descargar el ejemplo completo, ejecutando:

$ mkdir -p Docker/Radicale/config
$ cd ~/Docker/Radicale/config
$ wget https://raw.githubusercontent.com/tomsquest/docker-radicale/refs/heads/master/config

Cambie unas cuantas lineas, ya que no necesito mas, mi configuracion es bastante basica de momento.

[server]
# Max parallel connections
max_connections = 5

# Max size of request body (bytes)
max_content_length = 100000000

[storage]
# Folder for storing local collections, created if not present
filesystem_folder = /data/collections

Importar calendario y contactos

Descargue desde la aplicacion de Tuta, los archivos *.ics para Calendario y *.vcf para contactos . Luego subi en Radicale los archivos correspondientes y configure Davx5 y Thunderbird usando mi usuario, contraseña y url del servidor.