Démarrage rapide¶
Ce guide vous permet d'installer Repod et d'uploader votre premier paquet en moins de 15 minutes.
Prérequis¶
- Docker Engine 24.0+ et Docker Compose v2 plugin
- Git 2.x
- OpenSSL (pour générer la clé JWT)
Étape 1 — Récupérer le projet¶
Étape 2 — Configurer les variables d'environnement¶
Générer une clé JWT sécurisée :
Générer le hash bcrypt du mot de passe admin :
Éditer backend.env avec les valeurs générées :
backend.env
JWT_SECRET_KEY=<sortie de openssl rand -hex 32>
ADMIN_USERNAME=admin
ADMIN_PASSWORD_HASH=$$2b$$12$$<reste du hash bcrypt>
ENV=production
Échappement du dollar
Dans backend.env, chaque $ d'un hash bcrypt doit être doublé en $$.
Exemple : $2b$12$abc… → $$2b$$12$$abc…
Étape 3 — Démarrer les services¶
Vérifier que les conteneurs tournent :
Attendre que le backend soit prêt (ClamAV peut prendre jusqu'à 2 min au premier démarrage) :
Étape 4 — Générer la clé GPG¶
- Ouvrir l'interface :
http://localhost:3003 - Se connecter avec les identifiants admin configurés
- Aller dans Paramètres → GPG
- Cliquer Générer une clé GPG
Étape 5 — Uploader un paquet¶
- Aller dans Paquets → Uploader
- Sélectionner un fichier
.deb - Choisir la distribution (
jammy,noble, etc.) - Cliquer Uploader
TOKEN=$(curl -s -X POST http://localhost:8000/auth/token \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"VotreMotDePasse!"}' \
| jq -r .access_token)
curl -X POST -H "Authorization: Bearer $TOKEN" \
-F "file=@monpaquet_1.0.0_amd64.deb" \
-F "distribution=jammy" \
http://localhost:8000/upload/
TOKEN=$(curl -s -X POST http://localhost:8000/auth/token \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"VotreMotDePasse!"}' \
| jq -r .access_token)
curl -X POST -H "Authorization: Bearer $TOKEN" \
-F "[email protected]_64.rpm" \
-F "distribution=almalinux9" \
http://localhost:8000/upload/
Étape 6 — Configurer un client¶
# Importer la clé GPG
curl -fsSL http://VOTRE_HOTE:80/repos/dists/jammy/InRelease \
| gpg --dearmor \
| sudo tee /etc/apt/trusted.gpg.d/repod.gpg > /dev/null
# Ajouter la source
echo "deb http://VOTRE_HOTE:80/repos jammy main" \
| sudo tee /etc/apt/sources.list.d/repod.list
sudo apt update
sudo apt install monpaquet
# Importer la clé GPG
sudo rpm --import http://VOTRE_HOTE:80/repos/gpg.key
# Créer le fichier de dépôt
cat > /etc/yum.repos.d/repod.repo << EOF
[repod]
name=Repod Private Repository
baseurl=http://VOTRE_HOTE:80/repos/almalinux9/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://VOTRE_HOTE:80/repos/gpg.key
EOF
sudo dnf install monpaquet