Initial vault setup
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
---
|
||||
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é)
|
||||
|
||||
```yaml
|
||||
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)
|
||||
|
||||
```bash
|
||||
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` :
|
||||
|
||||
```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](https://github.com/jelmer/xandikos) (Python, CalDAV/CardDAV, plus complet que HiveDAV), [Davical](https://github.com/davicalproject/davical) (PostgreSQL, historique)
|
||||
- **Léger** : [sabre-dav](https://github.com/sabre-io/dav) (lib PHP, base de Radicale/Baikal)
|
||||
- **Cloud-first** : [Etebase](https://github.com/etesync/etesync-server) (E2E, API moderne), [Nextcloud](https://github.com/nextcloud/server) (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
|
||||
|
||||
- [selfh.st — Calendar](https://selfh.st/apps/?tag=calendar)
|
||||
- [GitHub hivedav/hivedav](https://github.com/hivedav/hivedav)
|
||||
- [RFC 4791 — CalDAV](https://datatracker.ietf.org/doc/html/rfc4791)
|
||||
- [RFC 4918 — WebDAV](https://datatracker.ietf.org/doc/html/rfc4918)
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-calendar]]
|
||||
- [[recettes-docker-compose]]
|
||||
- [[app-radicale]] — alternative plus mature
|
||||
- [[app-baikal]] — CalDAV + CardDAV
|
||||
Reference in New Issue
Block a user