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

4.4 KiB


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é)

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)

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 (sync E2E contacts/calendrier), Nextcloud (suite complète mais lourde), Tasks.org (mobile Android open source)
  • Gestion de vie : Monica (CRM personnel, plus orienté relations), Focalboard (Trello-like)
  • Propriétaire : Notion, Trello, Google Calendar + Tasks (excellents mais fermés, pas self-host)
  • Mobile CalDAV : DAVx⁵ (Android), Calendarsync (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

Pages Liées