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;
}
}
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%