--- title: Keeper created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, calendar, tasks, notes, typescript, react, productivity] confidence: high contested: false sources: [https://selfh.st/apps/?tag=calendar, https://github.com/keepersuite/keep-er] --- # Keeper 🗝️ > Application TypeScript tout-en-un : calendrier, tâches, notes et rappels, avec interface React moderne et synchronisation multi-device. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | https://keeperapp.dev | | **GitHub** | https://github.com/keepersuite/keep-er | | **License** | MIT | | **Langage** | TypeScript (React + Express) | | **Étoiles** | 34 ⭐ | | **Dernière MAJ** | 2024 | | **Catégorie** | [[cat-calendar]] | ## Description **Keeper** est un « productivity hub » auto-hébergeable qui combine quatre piliers classiques de l'organisation personnelle — **calendrier**, **tâches**, **notes** et **rappels** — dans une interface unique, réactive, et bien intégrée. L'ambition est de proposer une alternative crédible à des offres comme Google Keep + Google Calendar + Google Tasks, mais en gardant le contrôle total des données. L'interface est en **React** avec un système de « workspaces » où chaque espace peut contenir ses propres calendriers, listes de tâches, et notes. Les éléments sont **inter-reliés** : un événement peut contenir une note attachée, une tâche peut avoir un rappel, une note peut référencer un événement. Le moteur de recherche unifié permet de retrouver n'importe quoi par mot-clé. Côté technique, l'app utilise **Node.js/Express** côté backend, **PostgreSQL** ou **SQLite** pour la persistance, et une **PWA** côté frontend (installable comme une « appli » sur mobile). La synchronisation temps réel entre onglets se fait via WebSocket. ## Installation ### Docker Compose (recommandé) ```yaml services: keeper: image: ghcr.io/keepersuite/keep-er:latest container_name: keeper restart: unless-stopped environment: - DATABASE_URL=postgresql://keeper:***@db:5432/keeper - JWT_SECRET=*** - APP_URL=https:....com depends_on: - db ports: - "8092:3000" volumes: - keeper-uploads:/app/uploads db: image: postgres:16-alpine container_name: keeper-db restart: unless-stopped environment: - POSTGRES_USER=keeper - POSTGRES_PASSWORD=*** - POSTGRES_DB=keeper volumes: - keeper-db:/var/lib/postgresql/data volumes: keeper-db: keeper-uploads: ``` ### Manuelle (Node.js) ```bash git clone https://github.com/keepersuite/keep-er.git cd keep-er npm install cp .env.example .env npm run build npm start ``` ## Configuration - Créer le compte admin au premier lancement. - Configurer le fuseau horaire et la langue. - Activer/désactiver l'inscription publique. - Connecter un **compte SMTP** pour les rappels par email. - Optionnel : configurer un **reverse-proxy** (Caddy/Traefik) avec HTTPS obligatoire. ## Alternatives - **Open Source** : [[app-manage-my-damn-life]] (philosophie proche, plus fonctionnel), [AppFlowy](https://github.com/AppFlowy-IO/AppFlowy) (Notion-like, plus large), [Logseq](https://github.com/logseq/logseq) (PKM, plus axé notes), [HedgeDoc](https://github.com/hedgedoc/hedgedoc) (collab notes, pas de calendrier) - **Mobile-first** : [Joplin](https://github.com/laurent22/joplin) (notes), [Tasks.org](https://github.com/tasks/tasks) (tâches), [Etar](https://github.com/Etar-Group/Etar-Calendar) (calendrier open source Android) - **Propriétaire** : Notion, Google Workspace (Calendar + Tasks + Keep), Microsoft Loop - **Payant self-host** : Anytype (clients uniquement, pas de serveur self-host) ## Sécurité - **JWT_SECRET** : obligatoire, générer avec `openssl rand -hex 64`. - **HTTPS** : indispensable, les cookies d'auth et les notes transitent en clair sinon. - **PWA** : attention au cache local des notes sensibles, peut être désactivé. - **Base** : sauvegardes régulières Postgres + dossier `uploads` (pièces jointes). - **Multi-utilisateurs** : bien définir les rôles (admin, member) et tester l'isolation des workspaces. ## Ressources - [selfh.st — Calendar](https://selfh.st/apps/?tag=calendar) - [GitHub keepersuite/keep-er](https://github.com/keepersuite/keep-er) ## Pages Liées - [[cat-calendar]] - [[recettes-docker-compose]] - [[app-manage-my-damn-life]] — concurrent direct - [[app-fluidcalendar]] — UI plus design