Files
wiki/Catalogue-Self-Hosted/apps/app-mkcert-web-ui.md
T
2026-06-09 18:40:21 +02:00

4.5 KiB


title: Mkcert Web UI created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, front-end, ssl, certificats, dev, mkcert] confidence: medium contested: false sources: [https://selfh.st/apps/?q=mkcert-web-ui]

Mkcert Web UI 🔐

Interface web minimaliste pour générer et gérer des certificats SSL/TLS de développement via mkcert.

Métadonnée Valeur
Site web https://github.com/tarampampam/mkcert-webui
GitHub https://github.com/tarampampam/mkcert-webui
License MIT
Langage principal Go
Étoiles GitHub 10
Dernière MAJ 2025
Catégorie cat-front-end

Description

Mkcert Web UI est une surcouche graphique pour mkcert, l'outil en ligne de commande de Filippo Valsorda qui permet de créer une autorité de certification (CA) locale de confiance et de générer des certificats SSL valides pour le développement en *.localhost ou tout autre domaine. Au lieu d'utiliser la CLI mkcert -key-file key.pem -cert-file cert.pem example.com, on passe par une interface web simple.

L'outil est particulièrement utile dans les contextes suivants : équipes de développement qui veulent standardiser la génération de certificats, labs d'homelab où l'on crée régulièrement de nouveaux services HTTPS, ou encore environnements pédagogiques (formations, CTF). L'UI expose typiquement un formulaire pour saisir le(s) nom(s) de domaine, un bouton de génération, et un lien de téléchargement des fichiers .pem produits.

⚠️ Projet jeune (10) avec un bus factor limité (1 à 2 mainteneurs). Surtout, ce type d'outil manipule des clés privées : il faut être extrêmement vigilant sur l'exposition réseau (toujours limiter à 127.0.0.1 ou un réseau privé) et ne jamais l'utiliser pour générer des certificats de production. Réservé à un usage de développement/local.

Installation

Via Docker (recommandé)

services:
  mkcert-webui:
    image: ghcr.io/tarampampam/mkcert-webui:latest
    container_name: mkcert-webui
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:8080"
    volumes:
      - ./certs:/data/certs
      - ./ca:/data/ca
    environment:
      LISTEN: :8080
      DEFAULT_CERT_VALIDITY: 825
      CAROOT: /data/ca
      OUTPUT_DIR: /data/certs

Installation manuelle

Cloner le dépôt, installer Go 1.21+, go build pour produire le binaire. Préparer un répertoire pour stocker la CA (CAROOT) et les certificats générés. Lancer le binaire avec les variables d'environnement appropriées. Pour le développement local, laisser le port sur 127.0.0.1 uniquement.

Configuration

Variables d'environnement : LISTEN (défaut :8080, à restreindre à localhost en dev), CAROOT (dossier où mkcert stocke la CA racine, à sauvegarder précieusement), OUTPUT_DIR (dossier de sortie des certificats générés), DEFAULT_CERT_VALIDITY (durée de validité en jours, défaut 825 = 27 mois), TRUST_ON_FIRST_RUN (si true, fait confiance automatiquement aux certificats générés). Aucun fichier de config au-delà des variables d'environnement.

Alternatives

Open source

  • app-caddymanager-frontend — UI pour Caddy (qui gère ses propres certs en dev)
  • step-ca (CLI) — Autorité de certification locale, plus complète
  • mkcert (CLI) — L'outil original en ligne de commande, sans UI

Propriétaires

  • Cloudflare Tunnel — Fournit des certs dev via tunnel, mais service externe

Sécurité

  • ⚠️ Critique : ne JAMAIS exposer cette UI sur internet ou un réseau non-fiable — elle génère des clés privées
  • Toujours binder sur 127.0.0.1 ou un réseau privé isolé
  • La CA locale (CAROOT) doit être sauvegardée de manière sécurisée : c'est elle qui signe tous les certificats de votre lab
  • HTTPS n'est pas nécessaire (et c'est paradoxal) puisque l'outil génère les certs pour d'autres services
  • Auditer régulièrement les certificats générés et révoquer ceux qui ne sont plus utilisés
  • Usage strictement local/développement : pour la production, utiliser Let's Encrypt via app-caddy ou app-nginx

Ressources

Pages Liées