2026-04-16 11:40:55 +02:00
2025-04-14 21:42:25 +02:00
2025-04-14 21:31:26 +02:00
2025-04-14 21:31:26 +02:00
2026-02-05 14:31:33 +01:00
2026-02-11 15:13:02 +01:00

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 le compose.yml si 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

Créer un paquet Debian

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 Lets 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).

Description
Languages
HTML 82.7%
Shell 12.7%
Python 2.6%
Dockerfile 2%