109 lines
4.4 KiB
Markdown
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
|