APT DEPOT 📦
Créer un dépôt Debian sécurisé via clé GPG pour héberger des paquets
CONFIGURATION
- Editer le fichier
app/entrypoint.sh
GPG_KEY_NAME="example"
...
EMAIL="test@exemple.com"
-
Changer le port
- 8000:dans lecompose.ymlsi besoin -
Metre les paquets dans le dossier
depot/
UTILISATION
- Démarrer le conteneur
docker compose up -d
Note: La première fois, il génère les clés GPG
💡 A chaque ajout de paquet, redémarrer le conteneur pour qu'il resigne les paquets avec la clé GPG
Utiliser le dépôt pour installer des paquets
- Ajouter la clé du dépôt ainsi que l'adresse dans les sources:
sudo wget -O /etc/apt/trusted.gpg.d/gn-depot.asc https://deb.legaragenumerique.fr/pgp-key.public
echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/gn-depot.asc] https://deb.legaragenumerique.fr stable main' \
| sudo tee /etc/apt/sources.list.d/gn-depot.list
- Mettre à jour les dépôts:
sudo apt update
- Installer un paquet:
sudo apt install geo -y
Création d'un paquet
Ajout d'un paquet au dépôt
- Renommer le paquet (pour que le dépôt l'intègre selon l'architecture):
mv geo.deb geo_amd64.deb
- Placer le paquet dans le dossier
depot/:
mv geo_amd64.deb depot/
- Redémarrer le conteneur:
docker compose down -v && docker compose up -d --build
Si derrière un proxy
server {
listen 80;
server_name deb.domaine.tld;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
server_name deb.domaine.tld;
# Certificats Let’s Encrypt (créés par certbot)
ssl_certificate /etc/letsencrypt/live/deb.domaine.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/deb.domaine.tld/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
add_header Referrer-Policy "no-referrer-when-downgrade";
access_log /var/log/nginx/depot.access.log;
error_log /var/log/nginx/depot.error.log;
location / {
proxy_pass <IP-SERVEUR>:<PORT>;
autoindex on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}
FOR V3
- function to read Packages and create packets cards in index.html
REQUETES DE PAQUETS
Pour toute demande d'ajout de paquet Debian, Créer une issue avec le plus d'informations concernant le paquet (code source par exemple).
Languages
HTML
82.7%
Shell
12.7%
Python
2.6%
Dockerfile
2%