4.4 KiB
title: HiveDAV created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, calendar, caldav, server, python, low-tracre] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=calendar, https://github.com/hivedav/hivedav]
HiveDAV 🐝
Serveur CalDAV minimaliste en Python, pensé comme une alternative « single-binary, single-file » à Radicale et Baïkal.
| Métadonnée | Valeur |
|---|---|
| Site web | https://github.com/hivedav/hivedav |
| GitHub | https://github.com/hivedav/hivedav |
| License | BSD-2-Clause |
| Langage | Python (aiohttp) |
| Étoiles | 0 ⭐ |
| Dernière MAJ | 2023 |
| Catégorie | cat-calendar |
Description
HiveDAV est une tentative de créer un serveur CalDAV ultra-minimal en Python, ciblant explicitement les utilisateurs qui trouvent app-radicale trop « gros » ou app-baikal trop « PHP ». L'objectif : un binaire unique, une base SQLite, et un fichier de configuration plat — rien d'autre.
L'app supporte le strict minimum du protocole CalDAV (RFC 4791) pour permettre à des clients standards (Apple Calendar, Thunderbird, DAVx⁵, GNOME Evolution) de se connecter, créer des calendriers, et synchroniser des événements. Pas de CardDAV, pas de web UI évoluée, pas de gestion fine des ACL — c'est du « calendar sync only ».
L'argument principal est la simplicité opérationnelle : un seul fichier Python, peu de dépendances, démarrage instantané, base SQLite portable. Idéal pour un lab, une démo, ou un usage personnel très basique. Le projet est encore au stade « proof of concept » (0 étoile, peu de documentation), à utiliser avec précaution.
À noter : CardDAV (contacts) n'est pas implémenté. Pour un serveur calendrier + contacts complet, préférer app-baikal ou app-radicale.
Installation
Docker Compose (recommandé)
services:
hivedav:
image: ghcr.io/hivedav/hivedav:latest
container_name: hivedav
restart: unless-stopped
environment:
- HIVE_HOST=0.0.0.0
- HIVE_PORT=8080
- HIVE_DATA=/data/hivedav.db
- HIVE_AUTH=basic
- TZ=Europe/Paris
volumes:
- hivedav-data:/data
ports:
- "8094:8080"
volumes:
hivedav-data:
Manuelle (Python)
git clone https://github.com/hivedav/hivedav.git
cd hivedav
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python hivedav.py --config ./config.ini
Configuration
Exemple minimal config.ini :
[server]
host = 0.0.0.0
port = 8080
data = ./hivedav.db
[auth]
type = basic
users = alice:s3cret,bob:hunter2
Le format « users = user:pass,user:pass » est volontairement plat pour éviter une base de comptes séparée. Pour un vrai déploiement, basculer sur un fichier hashé.
Alternatives
- Open Source : app-radicale (le standard de facto, Python, mature), app-baikal (PHP/Sabre, CalDAV + CardDAV), Xandikos (Python, CalDAV/CardDAV, plus complet que HiveDAV), Davical (PostgreSQL, historique)
- Léger : sabre-dav (lib PHP, base de Radicale/Baikal)
- Cloud-first : Etebase (E2E, API moderne), Nextcloud (suite complète)
- Propriétaire : iCloud Calendar (Apple), Google Calendar (Google) — fermés, pas self-host
Sécurité
- Stockage des mots de passe : actuellement en clair dans
config.ini. À hasher avant tout usage réel (bcrypt/argon2). - HTTPS : CalDAV envoie des credentials en Basic Auth — TLS obligatoire, sinon les mots de passe transitent en clair.
- Base SQLite : contient tous les événements. Permissions restrictives sur le fichier.
- Pas d'auth fine : pas d'ACL, pas de comptes par ressource. Un compte = accès à tous les calendriers.
- Projet embryonnaire : 0 étoile, peu testé, ne pas utiliser pour des données critiques.
Ressources
Pages Liées
- cat-calendar
- recettes-docker-compose
- app-radicale — alternative plus mature
- app-baikal — CalDAV + CardDAV