Self-host
Même Paperkey. Vos serveurs.
MIT, un seul Docker compose, zero telemetry.
Sortez de la dépendance SaaS le jour où un client le demande.
- Sous licence MIT
- Même SDK et API
- Zero telemetry
- Licences illimitées
Ce que vous obtenez
Trois choses qui comptent dès le jour un
-
Parité avec le managed
Même SDK, même API REST, même dashboard. Le code écrit contre paperkey.dev tourne contre votre instance auto-hébergée en changeant une variable d'env.
-
MIT, zero telemetry
Code source complet sur GitHub. Pas de phone-home, pas de ping d’usage, pas de license check. Fork, audit, airgap. Votre VPS, votre base, vos logs.
-
Pensé pour les solos
Le premier utilisateur inscrit devient owner automatiquement. Passez PAPERKEY_REGISTRATION_CLOSED=true pour locker /register. L’UI des tiers est masquée. Licences actives illimitées par défaut.
Côte à côte
Managed vs self-host
Même produit. Tradeoffs opérationnels différents.
-
Prix
- Managed (paperkey.dev)
- À partir de 0 $/mois, payant au-delà des quotas
- Self-host
- Gratuit (MIT). Votre VPS, votre facture.
-
Hosting
- Managed (paperkey.dev)
- On l’opère (Fly + Neon, région UE)
- Self-host
- Vous l’opérez. Où vous voulez.
-
Licences actives
- Managed (paperkey.dev)
- Limitées par tier
- Self-host
- Illimitées
-
Updates
- Managed (paperkey.dev)
- Automatiques
- Self-host
- git pull + docker compose up -d
-
Billing (Stripe)
- Managed (paperkey.dev)
- Inclus
- Self-host
- Non inclus. Vendez votre code ailleurs.
-
Backups
- Managed (paperkey.dev)
- Quotidiens, rétention 30 jours
- Self-host
- À votre charge. pg_dump suffit.
-
Telemetry
- Managed (paperkey.dev)
- Analytics produit sur le dashboard
- Self-host
- Aucune.
-
Support
- Managed (paperkey.dev)
- Email, best effort
- Self-host
- GitHub issues, best effort
Ce qui est livré
Tout ce qui est dans le repo
Le repo est un monorepo pnpm. Le self-host fait tourner deux apps :
-
apps/apiAPI REST Hono + Prisma. JWT dashboard + clés publiques pk_.
-
apps/dashboardPanel de contrôle Next.js 14.
-
packages/dbSchéma Prisma, migrations, seed.
-
packages/sharedSchémas Zod, types.
-
@paperkeyhq/sdkSDK TypeScript, MIT, publié sur npm.
-
docker-compose.ymlPostgres + API + dashboard + Caddy (TLS auto).
-
SELFHOST.mdQuick start 5 minutes + notes ops.
Non inclus : site marketing, intégration Stripe, UI de billing.
Quick start
Live en cinq minutes
Cinq minutes sur un VPS neuf avec Docker installé.
- 1
Clone.
git clone https://github.com/paperkeyhq/paperkey && cd paperkey
- 2
Configurez.
cp .env.example .env, renseignez AUTH_SECRET, DATABASE_URL, votre domaine.
- 3
Démarrage.
docker compose up -d. Caddy provisionne le TLS, Prisma applique les migrations.
- 4
Revendiquez l’ownership.
Ouvrez https://votre-domaine/register, créez le premier compte (auto-owner), puis passez PAPERKEY_REGISTRATION_CLOSED=true et redémarrez.
Guide complet dans SELFHOST.md
FAQ
Les questions qui reviennent
Il y a un license check ?
Non. MIT, pas de serveur de clés, pas de callback. Forkez, modifiez, embarquez dans un produit revendu. L'attribution est appréciée, pas imposée.
Je peux migrer du managed plus tard ?
Oui. Même schéma de base, même API. Export depuis le managed, restore via pg_dump/pg_restore, on pointe le SDK sur la nouvelle URL. Une variable d’env.
Ça scale au-delà d’un VPS ?
Le compose livre une instance par service. Pour de la HA, sortez Postgres en managed (Neon, RDS, Crunchy) et scalez apps/api horizontalement derrière votre load balancer. Stateless par construction.
Comment je facture mes clients ?
Le self-host n'embarque pas de code Stripe. Utilisez Lemon Squeezy, Paddle, Stripe Checkout, Gumroad, ce que vous voulez. Paperkey émet la licence quand votre webhook de checkout déclenche.
Sustainability
Pourquoi les deux options restent supportées
Paperkey est maintenu en solo par un développeur. Le self-host est MIT parce qu'un outil de licensing ne devrait pas être un vendor lock-in. La version managed paie la maintenance. Si le self-host colle à votre workflow, lancez-le. Si vous préférez ne pas opérer un VPS, le cloud est à une inscription. Les deux restent supportés.
Faites-le tourner chez vous.
Clonez, configurez, shippez. Ou restez sur la version managed, les deux restent supportées.