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