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/api

    API REST Hono + Prisma. JWT dashboard + clés publiques pk_.

  • apps/dashboard

    Panel de contrôle Next.js 14.

  • packages/db

    Schéma Prisma, migrations, seed.

  • packages/shared

    Schémas Zod, types.

  • @paperkeyhq/sdk

    SDK TypeScript, MIT, publié sur npm.

  • docker-compose.yml

    Postgres + API + dashboard + Caddy (TLS auto).

  • SELFHOST.md

    Quick 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. 1

    Clone.

    git clone https://github.com/paperkeyhq/paperkey && cd paperkey

  2. 2

    Configurez.

    cp .env.example .env, renseignez AUTH_SECRET, DATABASE_URL, votre domaine.

  3. 3

    Démarrage.

    docker compose up -d. Caddy provisionne le TLS, Prisma applique les migrations.

  4. 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.