706 - Adios Google Calendar

706 - Adios Google Calendar

como tener tu propio servicio de #calendario y contactos con #rustical y #stalwart y dejar de lado #google #calendar y tener el control de tus datos

1:25
-3:15

Sin lugar a dudas, las herramientas que mas utilizo del ecosistema de Google son Gmail, Calendar y Contacts. La primera es muy fácil que no sea tu cliente o tu correo por defecto. Sin embargo, en el caso de las otras dos, Calendar y Contacts, la cosa es mas complicada sobre todo si utilizas un móvil Android. Si, existen distintas herramientas y aplicaciones que te permiten reemplazarlo en tu móvil. Pero no solo se trata de reemplazarlo, el gran problema es la sincronización. Como conseguir que tanto calendario como contactos esté disponible en todos tus dispositivos, y en todas tus herramientas. Que utilices lo que utilices, y vayas donde vayas, tenga siempre a tu disposición tanto el calendario como tus contactos. Ahí es donde radica lo complicado. Sin embargo, en el episodio 700 titulado tu propio servidor de correo tenías una opción para conseguirlo, de la misma forma que te ofrecía la posibilidad de tener ese servidor de correo con el que reemplazar a Gmail. Así, en este episodio, te voy a hablar de tres opciones para reemplazar Calendar y Contacts, y para que tengas tu todo el control de tus datos.

Adios Google Calendar

Una llamada de atención

Antes de nada, tengo que confesarte que actualmente, ninguna de las herramientas que te voy a mencionar en este episodio, a reemplazado las soluciones de Google. Al menos de momento. Esto es así, porque como de costumbre suelo advertir, esto de mantener es muy poderoso, y como dijo aquel, todo gran poder conlleva una gran responsabilidad. Mantener calendario y contactos, implica que tus servicios siempre tienen que estar levantados y funcionando pase lo que pase. Si no puedes garantizar esto, estamos ante un problema.

En este sentido, si no puedes garantizar que tus servicios estén siempre disponibles, es mejor que utilices las soluciones de Google. Al menos de momento. Sin embargo, si quieres tener el control de tus datos, y no depender de terceros, entonces tienes que hacer un esfuerzo por mantener tus propios servicios. En este episodio te voy a hablar de tres opciones para reemplazar Calendar y Contacts, y para que tengas tu todo el control de tus datos.

En mi caso particular, estoy manteniendo ambas soluciones en paralelos. Y esto va a continuar así hasta que me sienta lo suficientemente seguro de que este servicio siempre estará ahí cuando lo necesite.

Me ocurre lo mismo con el gestor de contraseñas. Actualmente utilizo Bitwarden, y lo cierto es que podía utilizar Vaultwarden, la solución autoalojada, pero para eso, necesito garantizar al 100% que siempre voy a tener total accesibilidad al gestor, y esto es algo, con lo que todavía no me siento confortable.

Cuatro soluciones

En este episodio te voy a mencionar cuatro soluciones para hacer esto. Dos de estas soluciones son viejos conocidos, con lo que pasaré por encima de ellos, y me centraré en los otros dos, que hasta el momento yo no conocía y que me resultan del todo interesantes. Las soluciones para auto alojar los servicios de Calendario y Contactos son,

  • Baikal. Se trata de un servidor ligero de CalDAV y CardDAV que destaca por su interfaz web intuitiva, facilitando la gestión de usuarios, agendas y calendarios. Es notablemente rápido y sencillo de instalar, requiriendo únicamente un servidor con soporte PHP y la capacidad de almacenar datos en una base de datos MySQL o SQLite. Con Baïkal, puedes acceder y sincronizar sin problemas tus contactos y calendarios desde cualquier dispositivo, ya que es totalmente compatible con iOS, macOS, DAVx5 en Android, Mozilla Thunderbird y cualquier otra aplicación compatible con CalDAV y CardDAV, ofreciéndote así una solución para proteger tu privacidad alojando tus datos personales.
  • Radicale. Es un servidor compacto pero robusto de CalDAV y CardDAV que te permite compartir calendarios (eventos, tareas y entradas de diario) y listas de contactos (tarjetas de visita) de forma sencilla a través de estos protocolos y HTTP. Destaca por su facilidad de uso, ya que funciona «de primeras» sin necesidad de configuraciones complicadas, a la vez que ofrece opciones para asegurar las conexiones con TLS y limitar el acceso mediante autenticación. Es compatible con una amplia gama de clientes CalDAV y CardDAV, almacena todos los datos directamente en el sistema de archivos con una estructura de carpetas simple, es extensible mediante plugins y se distribuye como software libre bajo la licencia GPLv3.

Sobre los otros dos, que son los que me han llamado la atención, te hablaré un poco más en profundidad, dado que son el

Rustical

RustiCal es un servidor CalDAV/CardDAV que simplifica la gestión de tus calendarios y contactos, destacando por su facilidad para realizar copias de seguridad, ya que guarda toda la información en una única base de datos SQLite y ofrece una función de exportación directamente desde la interfaz web. Promete una sincronización casi instantánea gracias al soporte de WebDAV Push, especialmente útil con clientes como DAVx5. Es una solución ligera, con su imagen de contenedor reducida a un único binario, y aunque no hay benchmarks disponibles, se percibe como rápido. Además, cuenta con características avanzadas como la recuperación de calendarios eliminados, un flujo de inicio de sesión similar al de Nextcloud para DAVx5 (que genera automáticamente un token de aplicación) y la creación de perfiles de configuración de Apple para evitar el copiado manual de contraseñas. También soporta OpenID Connect, con la opción de deshabilitar el inicio de sesión por contraseña para una mayor flexibilidad.

Características

  • Copia de seguridad sencilla, todo se guarda en una única base de datos SQLite, y además permite exportar los datos desde la interfaz web.
  • Sincronización casi instantánea, gracias al soporte de WebDAV Push, la sincronización, especialmente con DAVx5, es prácticamente al instante.
  • Ligero, la imagen del contenedor solo incluye un único archivo binario, lo que lo hace muy eficiente.
  • Suficientemente rápido, Aunque no hay pruebas de rendimiento específicas, el desarrollador lo considera adecuado en velocidad.
  • Recuperación de calendarios eliminados, permite restaurar calendarios que hayan sido borrados.
  • Flujo de inicio de sesión de Nextcloud, con DAVx5, puedes iniciar sesión utilizando el proceso de Nextcloud, lo que genera automáticamente un token de aplicación.
  • Perfiles de configuración de Apple, puedes generar perfiles de configuración directamente desde la interfaz web, evitando así tener que copiar y pegar contraseñas en dispositivos Apple.
  • Soporte OpenID Connect, permite el uso de OpenID Connect para la autenticación, con la opción de deshabilitar el inicio de sesión por contraseña para mayor seguridad o flexibilidad. Como te puedes imaginar yo lo he integrado con PocketId

Instalación

Por supuesto y como te puedes imaginar, esto lo he montado con Docker. Pero además está en mi repositorio de GitHub de Plantillas de Arcane, para que si lo estás utilizando lo puedas instalar fácilmente. De otra forma te dejo aquí el compose.yml,

services:
  rustical:
    image: ghcr.io/lennart-k/rustical
    container_name: rustical
    init: true
    environment:
      RUSTICAL_OIDC__NAME: "PocketID"
      RUSTICAL_OIDC__ISSUER: "https://pocketid.tuservidor.es"
      RUSTICAL_OIDC__CLIENT_ID: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
      RUSTICAL_OIDC__CLIENT_SECRET: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
      RUSTICAL_OIDC__CLAIM_USERID: "preferred_username"
      RUSTICAL_OIDC__SCOPES: '["openid", "profile", "groups"]'
      RUSTICAL_OIDC__REQUIRE_GROUP: "app:rustical"
      RUSTICAL_OIDC__ALLOW_SIGN_UP: "true"
      RUSTICAL_FRONTEND__ALLOW_PASSWORD_LOGIN: "false"
    volumes:
      - rustical:/var/lib/rustical
    restart: unless-stopped
    networks:
      - proxy
    labels:
      traefik.enable: "true"
      traefik.http.services.rustical.loadbalancer.server.port: "4000"
      traefik.http.routers.rustical.entrypoints: "https"
      traefik.http.routers.rustical.rule: "Host(`${FQDN}`)"
volumes:
  rustical: {}
networks:
  proxy:
    external: true

Stalwart.

La otra de las herramientas que me ha llamado la atención ha sido Stalwart de la que te hablé en otro episodio 700 que titulé Deja Gmail hoy, monta tu servidor y protege tus datos.

La cuestión es que hasta el momento solo lo he utilizado como servidor de correo. Sin embargo, tiene la opción de crear tus cuentas de calendario y contactos, para cada uno de los usuarios del servidor. Aunque te tengo que decir que me costó un poco.

Así, para configurarlo, tienes que hacerlo de la siguiente forma,

  • Calendario: https://mail.tuservidor.es/dav/cal/<nombre-de-usuario>
  • Contactos: https://mail.tuservidor.es/dav/card/<nombre-de-usuario>
  • Webdav: https://mail.tuservidor.es/dav/file/<nombre-de-usuario>

Así como el calendario y los contactos los he podido configurar, el caso de Webdav, no ha sido así, y finalmente he desistido. Aunque sea de momento.

Conclusión

Estamos ante dos herramientas que, desde mi punto de vista, no tienen la madurez de Baikal o Radicale. Sin embargo, creo que tienen un gran potencial y yo, de momento voy a seguir trabajando con ellas.

Por un lado me gusta Rustical por aquello de la filosofía KISS, haz una sola cosa, pero hazla bien. Pero por otro lado, creo que la integración a la que estamos acostumbrados es precisamente el servidor de correo junto con calendario y contactos. Veremos como evoluciona.


Más información,

1 comentario en “Adios Google Calendar

  1. JU
    Juan hace 3 horas

    Promete rustical, de momento dice el desarrollador que no está para producción.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *