Publication DockerHub
Cette page décrit comment créer et publier les images DockerHub de NFZ Docs Builder, avec priorité à l’image self-hosting.
Images principales
| Usage | Image | Tag prioritaire |
|---|---|---|
| Self-hosting | vevedh/nfz-docs-notion-editor | selfhost-0.1.106 |
| Community | vevedh/nfz-docs-builder | community-0.1.106 |
| Studio | vevedh/nfz-docs-builder | studio-0.1.106 |
| Pro | vevedh/nfz-docs-builder | pro-0.1.106 |
| Enterprise | vevedh/nfz-docs-builder | enterprise-0.1.106 |
Préparer DockerHub
Connecte-toi avec un token DockerHub :
export DOCKERHUB_NAMESPACE=vevedh
docker loginDans GitHub Actions, ajoute les secrets :
DOCKERHUB_USERNAME
DOCKERHUB_TOKENTester le plan de publication
bun run dockerhub:planCette commande n’exécute aucun build. Elle affiche les images et tags prévus.
Construire l’image self-host localement
bun run dockerhub:build:selfhostImage produite :
vevedh/nfz-docs-notion-editor:selfhost-0.1.106Publier l’image self-hosting
bun run dockerhub:publish:selfhostTags publiés :
vevedh/nfz-docs-notion-editor:selfhost-0.1.106
vevedh/nfz-docs-notion-editor:selfhost-latestPublier les images commerciales
Community uniquement :
bun run dockerhub:publish:communityToutes les éditions commerciales :
bun run dockerhub:publish:editionsRelease complète self-host + éditions :
bun run dockerhub:publish:allPublication GitHub Actions
Le workflow .github/workflows/publish-dockerhub.yml expose trois paramètres importants :
| Paramètre | Valeur recommandée |
|---|---|
target | selfhost pour la priorité actuelle |
image_tag | 0.1.106 |
push_latest | true après validation |
Le workflow utilise le même script canonique que le poste local :
node scripts/dockerhub-publish.mjsValidation avant publication
bun run diagnose:dockerhub-publishing
bun run verify:selfhostValidation après publication
docker pull vevedh/nfz-docs-notion-editor:selfhost-0.1.106
docker run --rm -p 3000:3000 vevedh/nfz-docs-notion-editor:selfhost-0.1.106Endpoints à vérifier :
http://localhost:3000/api/health
http://localhost:3000/admin/selfhost
http://localhost:3000/admin/licenseSécurité
Les images DockerHub ne doivent contenir aucune clé de licence, aucun secret MongoDB réel et aucun token de publication. Les secrets doivent être injectés par Docker Compose, Portainer, GitHub Actions ou Docker secrets.
Reprise après publication self-host réussie
Si dockerhub:publish:all a déjà publié l'image self-host mais échoue ensuite sur les images commerciales, relancer uniquement :
bun run dockerhub:publish:commercialLe Dockerfile.production utilise l'utilisateur non-root bun fourni par oven/bun:*‑slim; ne pas réintroduire addgroup/adduser dans cette image.