Files
wiki/Catalogue-Self-Hosted/apps/app-manage-my-damn-life.md
2026-06-09 18:40:21 +02:00

109 lines
4.4 KiB
Markdown

---
title: Manage My Damn Life
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, calendar, tasks, productivity, typescript, selfhost]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=calendar, https://github.com/intri-code/manage-my-damn-life]
---
# Manage My Damn Life 🦾
> Application web auto-hébergée de gestion de vie : calendrier, tâches, rendez-vous, contacts et notes, le tout en un, avec un nom qui ne mâche pas ses mots.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://intri-code.github.io/manage-my-damn-life/ |
| **GitHub** | https://github.com/intri-code/manage-my-damn-life |
| **License** | GPL-3.0 |
| **Langage** | TypeScript (Vue.js / Node) |
| **Étoiles** | 43 ⭐ |
| **Dernière MAJ** | 2024 |
| **Catégorie** | [[cat-calendar]] |
## Description
**Manage My Damn Life** (MMDL) est un projet communautaire né d'une frustration simple : pourquoi faut-il 4 applications différentes (calendrier, to-do, contacts, journal) pour gérer sa vie numérique ? MMDL rassemble tout ça dans une interface unique, volontairement **fonctionnelle plutôt que designée**, et **100% auto-hébergeable**.
Fonctionnalités principales :
- **Calendrier** : vue jour/semaine/mois, événements récurrents, rappels, fuseaux horaires.
- **Tâches** : listes, sous-tâches, étiquettes, priorités, deadlines avec rappel.
- **Contacts** : carnet d'adresses intégré, avec anniversaires qui remontent dans le calendrier.
- **Notes** : wiki léger, formatage Markdown, liens internes entre notes.
- **API REST** : pour intégration avec des clients tiers (mobile, scripts).
- **Multi-utilisateurs** : chaque membre de la famille a son propre espace.
L'app parle couramment **CalDAV** (lecture/écriture), ce qui permet d'utiliser un [[app-radicale]] ou un compte Nextcloud comme source de vérité externe. Le ton du projet (nom, site, README) est irrévérencieux, mais le code est sérieux et maintenu activement.
## Installation
### Docker Compose (recommandé)
```yaml
services:
mmdl:
image: ghcr.io/intri-code/manage-my-damn-life:latest
container_name: mmdl
restart: unless-stopped
environment:
- DB_TYPE=sqlite
- DB_PATH=/data/mmdl.db
- JWT_SECRET=changeme
- TZ=Europe/Paris
volumes:
- mmdl-data:/data
ports:
- "8091:3000"
volumes:
mmdl-data:
```
### Manuelle (Node.js)
```bash
git clone https://github.com/intri-code/manage-my-damn-life.git
cd manage-my-damn-life
npm install
npm run build
cp .env.example .env # éditer DB_PATH, JWT_SECRET
npm start
```
## Configuration
- Premier lancement : créer le compte admin via `/register` (puis désactiver l'inscription publique dans `config.json`).
- Connecter un compte **CalDAV** (Radicale, Baïkal, Nextcloud) si on veut synchroniser avec un client externe (Thunderbird, DAVx⁵).
- Configurer les **notifications** : email (SMTP) ou web-push.
- Définir la **langue** et le **fuseau horaire** par défaut.
## Alternatives
- **Open Source** : [[app-radicale]] (juste CalDAV, pas de tâches/contacts), [Etebase](https://github.com/etesync/etesync-server) (sync E2E contacts/calendrier), [Nextcloud](https://github.com/nextcloud/server) (suite complète mais lourde), [Tasks.org](https://github.com/tasks/tasks) (mobile Android open source)
- **Gestion de vie** : [Monica](https://github.com/monicahq/monica) (CRM personnel, plus orienté relations), [Focalboard](https://github.com/mattermost/focalboard) (Trello-like)
- **Propriétaire** : Notion, Trello, Google Calendar + Tasks (excellents mais fermés, pas self-host)
- **Mobile CalDAV** : [DAVx⁵](https://www.davx5.com/) (Android), [Calendarsync](https://calendarsync.app/) (iOS)
## Sécurité
- **JWT_SECRET** : long et aléatoire (`openssl rand -hex 64`).
- **Inscription ouverte** : à **désactiver** après création du compte admin (`ALLOW_REGISTRATION=false`).
- **HTTPS** : obligatoire, surtout si connexion CalDAV avec credentials.
- **Base SQLite** : sauvegarder régulièrement le fichier `.db` (il contient tout).
- **Pas d'E2E** : contrairement à Etebase, les données ne sont pas chiffrées côté client. À prendre en compte selon le modèle de menace.
## Ressources
- [selfh.st — Calendar](https://selfh.st/apps/?tag=calendar)
- [GitHub intri-code/manage-my-damn-life](https://github.com/intri-code/manage-my-damn-life)
## Pages Liées
- [[cat-calendar]]
- [[recettes-docker-compose]]
- [[app-radicale]] — CalDAV compatible
- [[app-baikal]] — CalDAV/CardDAV