# \[Radicale\] Package rewritten for Radicale 3: reviews and testers welcome / paquet réécrit, relecteurs et testeurs bienvenus

**URL:** https://forum.yunohost.org/t/radicale-package-rewritten-for-radicale-3-reviews-and-testers-welcome-paquet-reecrit-relecteurs-et-testeurs-bienvenus/43242
**Category:** Apps packaging
**Tags:** french, english
**Created:** [October 24, 2026, 3:10pm UTC](https://forum.yunohost.org/t/radicale-package-rewritten-for-radicale-3-reviews-and-testers-welcome-paquet-reecrit-relecteurs-et-testeurs-bienvenus/43242 "2026-10-24T15:10:54Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![retiolus](https://forum.yunohost.org/user_avatar/forum.yunohost.org/retiolus/32/8597_2.png) [@retiolus](https://forum.yunohost.org/u/retiolus)
#### Post date: [October 24, 2026, 3:10pm UTC](https://forum.yunohost.org/t/radicale-package-rewritten-for-radicale-3-reviews-and-testers-welcome-paquet-reecrit-relecteurs-et-testeurs-bienvenus/43242/1 "2026-10-24T15:10:55Z")

</div>

**Français plus bas**

The Radicale package had been moved to the graveyard: it was still on Radicale 1.1 (Python 2, uWSGI) with packaging v1 and could not be installed on current YunoHost. I rewrote it for **Radicale 3.8.3** and packaging v2.

**What it does**

- Login with the YunoHost account (username or email address), restricted to the users and groups allowed on the app permission
- Each user only accesses their own calendars and address books; a default calendar and address book are created on first login
- Optional history of every change in a git repository, toggled from the config panel
- `/.well-known/caldav` and `carddav` redirections, unless another app of the domain already uses them
- Fail2Ban on failed logins
- InfCloud is dropped, Radicale’s own web interface is used

**Upgrade from the old 1.x package:** the data is first copied to `/home/yunohost.app/radicale/radicale1-backup`, then converted and checked by Radicale 3. If something cannot be converted, the upgrade stops and tells where the data is.

**To test** (make a backup first if you upgrade an existing install):

```auto
# fresh install
sudo yunohost app install https://github.com/retiolus/radicale_ynh/tree/radicale-v3
# upgrade an existing install
sudo yunohost app upgrade radicale -u https://github.com/retiolus/radicale_ynh/tree/radicale-v3

```

- Package PR: [Radicale 3.8.3, packaging v2 by retiolus · Pull Request #43 · YunoHost-Apps/radicale\_ynh · GitHub](https://github.com/YunoHost-Apps/radicale_ynh/pull/43)
- Catalog PR (draft, waits for the one above): [Add Radicale back to the catalog by retiolus · Pull Request #3672 · YunoHost/apps · GitHub](https://github.com/YunoHost/apps/pull/3672)

Could someone from the [@Apps](https://forum.yunohost.org/groups/apps) group trigger the CI on the package PR?

* * *

Le paquet Radicale avait été déplacé dans le « cimetière » : il était resté sur Radicale 1.1 (Python 2, uWSGI) avec le packaging v1 et ne s’installait plus sur YunoHost actuel. Je l’ai réécrit pour **Radicale 3.8.3** et le packaging v2.

**Ce qu’il fait**

- Connexion avec le compte YunoHost (identifiant ou adresse e-mail), limitée aux utilisateurs et groupes autorisés sur la permission de l’app
- Chacun n’accède qu’à ses propres agendas et carnets d’adresses ; un agenda et un carnet par défaut sont créés à la première connexion
- Historique optionnel de chaque modification dans un dépôt git, activable depuis le panneau de configuration
- Redirections `/.well-known/caldav` et `carddav`, sauf si une autre app du domaine les utilise déjà
- Fail2Ban sur les échecs de connexion
- InfCloud est retiré, l’interface web de Radicale est utilisée

**Mise à jour depuis l’ancien paquet 1.x :** les données sont d’abord copiées dans `/home/yunohost.app/radicale/radicale1-backup`, puis converties et vérifiées par Radicale 3. Si quelque chose ne peut pas être converti, la mise à jour s’arrête et indique où se trouvent les données.

**Pour tester** (faites une sauvegarde avant si vous mettez à jour une installation existante) : voir les commandes ci-dessus.

- PR du paquet : [Radicale 3.8.3, packaging v2 by retiolus · Pull Request #43 · YunoHost-Apps/radicale\_ynh · GitHub](https://github.com/YunoHost-Apps/radicale_ynh/pull/43)
- PR du catalogue (brouillon, attend la précédente) : [Add Radicale back to the catalog by retiolus · Pull Request #3672 · YunoHost/apps · GitHub](https://github.com/YunoHost/apps/pull/3672)

Quelqu’un du groupe [@Apps](https://forum.yunohost.org/groups/apps) pourrait-il lancer la CI sur la PR du paquet ?

---

<div class="post-metadata">

### Author: ![retiolus](https://forum.yunohost.org/user_avatar/forum.yunohost.org/retiolus/32/8597_2.png) [@retiolus](https://forum.yunohost.org/u/retiolus)
#### Post date: [October 28, 2026, 6:31am UTC](https://forum.yunohost.org/t/radicale-package-rewritten-for-radicale-3-reviews-and-testers-welcome-paquet-reecrit-relecteurs-et-testeurs-bienvenus/43242/3 "2026-10-28T06:31:40Z")

</div>

Thanks for the review.

- Size: git stores each change compressed and packs the history on its own. In a test with 5000 changes on a calendar of 1000 events, it took about 1 KB per change (9 MB in total). A busy calendar stays at a few MB per year.
- Disabling: the option is in the configuration panel. It only removes the hook from Radicale’s configuration. The calendars and address books are not touched, and the existing history is kept.
- Pruning: there is none built in. To drop the history, disable the option and delete /home/yunohost.app/radicale/collections/.git. Enabling it again starts a new history from the current state.
