2026-03-06 16:33:03 +01:00
2026-03-06 16:29:06 +01:00
2026-03-06 16:29:06 +01:00
2026-03-06 16:29:06 +01:00
2026-03-06 16:29:06 +01:00
2026-02-05 14:31:33 +01:00
2026-03-06 16:33:03 +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;
    }
}

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

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