Auto-hébergement
Keeplas est AGPL-3.0 et entièrement auto-hébergeable. Exécutez toute la stack sur votre propre infrastructure — vos données, vos serveurs, vos règles. Parce que le coffre est zero-knowledge, l'auto-hébergement change qui opère les serveurs, pas qui peut lire vos données. Seul vous le pouvez.
Prérequis
Vous avez besoin d'un toolchain Node récent, pnpm, et d'un déploiement Convex. Docker est optionnel pour un environnement de dev conteneurisé.
- Node.js 20+ et pnpm 10+ (
corepack enablerecommandé) - Un déploiement Convex — Convex Cloud ou auto-hébergé (
CONVEX_MODE=selfhosted) - Docker (optionnel) pour un environnement de dev conteneurisé et figé
Bootstrap en une commande
Clonez le dépôt, puis lancez le bootstrap. Il copie .env.local, installe les dépendances, et lie les fichiers d'env par package.
git clone https://github.com/Keeplas/keeplas.git
cd keeplas
pnpm bootstrap
Provisionner Convex et les secrets
Générez le secret HMAC d'audit, provisionnez votre déploiement Convex, semez les clés d'authentification, synchronisez l'env, puis démarrez l'app.
openssl rand -base64 32 # définissez KEEPLAS_CTX_SECRET dans .env.local
npx convex dev --once --configure=new
npx @convex-dev/auth # sème les clés JWT
pnpm sync:convex-env
pnpm dev
L'application sert maintenant sur http://localhost:3000. Convex tourne en mode dev contre votre compte.
Ou utilisez Docker
Vous préférez les conteneurs ? Le Dockerfile.dev fourni fige Node et pnpm pour correspondre à la CI, avec les sources bind-mount pour le hot-reload.
cp .env.local.example .env.local # puis renseignez KEEPLAS_CTX_SECRET
docker compose up
Déployer en production
Le déploiement de référence vise Vercel pour l'application web et Convex Cloud pour le backend. Les deux ont des plans gratuits généreux et zéro travail d'infra ; ensemble, ils permettent de faire tourner un Keeplas durci, instrumenté, sans gérer de serveurs.
Si vous voulez une souveraineté complète, le backend Convex peut tourner en auto-hébergé (CONVEX_MODE=selfhosted) contre n'importe quel stockage compatible Postgres. L'app Next.js est une application Node standard — déployez-la partout où tourne Node 20+.
Parce que le coffre est zero-knowledge, les opérateurs du serveur (vous, dans ce cas) ne voient jamais que du texte chiffré. L'auto-hébergement change qui fait tourner l'infrastructure, pas qui peut déchiffrer vos données.
La suite
- Architecture — ce qu'il y a dans
apps/web,packages/convex, etpackages/crypto - Contribuer — workflow, CLA, zones restreintes, divulgation de sécurité