jeudi 29 mai 2025

Dockker - 001 - De zéro à HTTPS : Déployer SWAG sur Debian avec Docker et OVH

Installer SWAG sur Debian avec Docker et gérer les DNS OVH

Dans ce tutoriel, découvrez comment installer SWAG (Secure Web Application Gateway) sur une distribution Debian, configurer Docker avec Portainer, et sécuriser vos domaines via les certificats Let's Encrypt avec l'API OVH.

🎯 Objectifs

  • Mettre en place un reverse proxy SWAG avec Docker
  • Gérer les conteneurs via Portainer
  • Sécuriser les domaines avec les certificats OVH + Let's Encrypt

🛠️ Prérequis

  • Machine Debian 12.5 installée
  • Utilisateur avec droits sudo
  • Accès à un compte OVH

🧭 Étapes

1️⃣ Installer Debian et sudo

  1. Installer Debian 12.5 avec l’utilisateur stagiaire.
  2. Installer sudo :
    su -
    apt-get install sudo
    adduser stagiaire sudo
    reboot

2️⃣ Installer Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


3️⃣ Ajouter l’utilisateur au groupe Docker

sudo usermod -aG docker stagiaire
sudo reboot

4️⃣ Installer Portainer (interface Web Docker)

docker volume create portainer_data

docker run -d -p 8000:8000 -p 9443:9443 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:2.21.1

Accédez à l’interface Web :

https://localhost:9443

5️⃣ Déployer SWAG (Secure Web Application Gateway)

docker volume create swag_data
sudo mkdir -p /volume1/docker/swag/config

Depuis Portainer, déployez l’image linuxserver/swag.

Une fois lancé, stoppez le conteneur pour configurer les certificats.

🔗 Accès :

https://dashboard.portail.domaine.fr/

🔐 Configuration des certificats via l’API OVH

1. Obtenir les clés OVH

Accédez à l’outil d’authentification :

Créer un token API OVH


2. Ajouter les clés dans le fichier ovh.ini

nano /volume1/docker/swag/config/dns-conf/ovh.ini

Collez les clés fournies (endpoint, application_key, application_secret, consumer_key).

3. Redémarrer le container SWAG

docker restart swag

Consultez les logs pour vérifier qu’il n’y a pas d’erreur.

📷 Capture d’écran suggérée : Logs Docker avec message "certificate successfully acquired"

🔒 Activer HTTPS sur Portainer

  1. Ajoutez une entrée DNS locale ou publique pointant vers votre serveur.
  2. Créez une configuration Nginx pour Portainer dans SWAG.
  3. Redémarrez le container SWAG.

📷 Capture d’écran suggérée : Portainer en HTTPS dans le navigateur

📚 Ressources utiles


Article rédigé par Yassin, passionné d’auto-hébergement et d’infra légère.

jeudi 10 avril 2025

Perplexica + Ollama + SearXNG : la solution locale pour interroger vos modèles IA

🧠 Installer Perplexica — Une interface locale pour interroger vos LLMs auto-hébergés !

Perplexica est une interface web qui vous permet d'interroger plusieurs LLMs (comme ceux d’Ollama) et d’enrichir vos réponses avec des résultats issus de moteurs de recherche comme SearXNG. Dans ce tutoriel, nous allons l’installer et la configurer dans un environnement Docker, comme pour Linkwarden !

✅ Prérequis

  • Docker et Portainer sont déjà installés. Si ce n’est pas le cas, suivez ce tutoriel.
  • SWAG est installé. Si ce n’est pas le cas, suivez ce tutoriel.
  • Un nom de domaine du type perplexica.portail.domaine.fr qui pointe vers votre serveur SWAG.
  • L’IP de votre serveur SWAG (ex : 192.168.1.150).
  • Une instance de SearXNG déjà en place (nous allons réutiliser son URL).

🗂️ Étape 1 : Création des dossiers

Ouvrez une console SSH sur votre NAS ou serveur et tapez les commandes suivantes :

sudo mkdir /volume1/docker/perplexica
cd /volume1/docker/perplexica

🔄 Étape 2 : Clonage du dépôt Git

sudo git clone https://github.com/ItzCrazyKns/Perplexica.git
sudo chown stagiaire -R Perplexica/

📝 Étape 3 : Configuration de Perplexica

Renommez le fichier de configuration d’exemple :

mv Perplexica/sample.config.toml Perplexica/config.toml
nano Perplexica/config.toml

Dans ce fichier, modifiez les lignes suivantes pour ajouter l'URL de votre instance Ollama et SearXNG, comme sur la capture :

[MODELS.OLLAMA]
API_URL = "http://host.docker.internal:11434"

[API_ENDPOINTS]
SEARXNG = "http://localhost:32768"

📸 Capture d'écran de la configuration :



🐳 Étape 4 : Docker Compose (sans SearXNG)

Pas besoin d’installer SearXNG si vous l’avez déjà. Modifiez le docker-compose.yml dans le dossier cloné pour enlever le service searxng.

Ouvrir le fichier :

nano Perplexica/docker-compose.yml

Supprimez ou commentez la section searxng: et tout ce qui y est lié (réseaux, volumes, etc).

🚀 Étape 5 : Lancement de l'application

cd Perplexica
docker compose up -d

🌐 Étape 6 : Configuration SWAG pour HTTPS

Ajoutez une configuration nginx dans SWAG :

sudo nano /volume1/docker/swag/config/nginx/proxy-confs/perplexica.subdomain.conf

Collez le contenu de ce gist :
👉 https://gist.github.com/gamersalpha/4fd1bce02f0f1826cdfd7c11b38b624e

Et changez cette ligne :

server_name perplexica.*;

Par votre domaine :

server_name perplexica.portail.domaine.fr;

Puis redémarrez le container SWAG :

docker restart swag

✅ Accès à Perplexica

Vous pouvez maintenant accéder à Perplexica via :

➡️ https://perplexica.portail.domaine.fr

🔗 Liens utiles

samedi 4 janvier 2025

Configurer OPNsense pour Héberger un Serveur ARK: Survival Ascended

Héberger un serveur ARK: Survival Ascended derrière un pare-feu OPNsense peut sembler complexe, mais avec la bonne configuration, c'est tout à fait réalisable. 

Cet article vous guide pas à pas dans la configuration d'OPNsense pour permettre à votre serveur ARK de fonctionner correctement, même dans un environnement de double NAT.


Pré-requis

Avant de commencer, assurez-vous d'avoir les informations suivantes :

  • Adresse IP locale du serveur ARK : par exemple, 192.168.1.120.
  • Adresse IP WAN d'OPNsense : par exemple, 192.168.25.12 (fournie par votre routeur FAI).
  • Les ports nécessaires pour le serveur ARK :
    • UDP 7777 : Port de jeu.
    • UDP 7778 : Port de pair.
    • UDP 27015 : Port de requête.
    • TCP 27020 : Port RCON (optionnel).

Étape 1 : Désactiver la Règle "Block Private Networks"

Lorsque vous utilisez OPNsense derrière un routeur FAI, l'interface WAN d'OPNsense reçoit une adresse IP privée (192.168.x.x). Par défaut, OPNsense bloque le trafic provenant de ces IP sur l'interface WAN.

Procédure :

  1. Accédez à Interfaces > WAN.
  2. Décochez l'option Block private networks.
  3. Cliquez sur Save, puis sur Apply Changes.

Note : Cette étape est indispensable dans un environnement de double NAT. Si vous ne pouvez pas désactiver cette règle, envisagez de mettre votre routeur FAI en mode bridge.


 


Étape 2 : Configurer la Redirection NAT

La redirection NAT (ou "Port Forwarding") permet de transmettre le trafic entrant depuis l'interface WAN vers le serveur ARK.

Ajouter une Règle NAT pour chaque port :

  1. Accédez à Firewall > NAT > Port Forward.
  2. Cliquez sur Add (+).
  3. Configurez les paramètres suivants :
    • Interface : WAN.
    • Protocol : UDP (pour les ports 7777, 7778, et 27015).
    • Destination : WAN address.
    • Destination port range :
      • From : 7777, To : 7777 (ou le port correspondant).
    • Redirect target IP : 192.168.1.120 (adresse IP de votre serveur ARK).
    • Redirect target port : Identique au port d'origine.
    • Description : Exemple : ARK Game Server - UDP 7777.
  4. Cliquez sur Save, puis Apply Changes.

Répétez ces étapes pour chaque port :

  • UDP 7778
  • UDP 27015
  • TCP 27020 (si RCON est utilisé).

Étape 3 : Vérifier les Règles de Pare-feu

OPNsense crée automatiquement des règles de pare-feu associées aux redirections NAT. Pour vérifier :

  1. Allez dans Firewall > Rules > WAN.
  2. Assurez-vous qu'il existe une règle pour chaque port (7777, 7778, 27015, 27020).
    • Si une règle manque, ajoutez-la manuellement :
      • Action : Pass.
      • Protocol : UDP (ou TCP pour RCON).
      • Source : any.
      • Destination : WAN address.
      • Destination port range : Le port à autoriser (par ex. 7777).

Étape 4 : Configurer le Routeur FAI

Si vous êtes en double NAT, votre routeur FAI doit rediriger le trafic entrant vers l'interface WAN d'OPNsense (192.168.25.12).

Ajouter des Règles de Redirection sur le Routeur FAI :

  1. Connectez-vous à l'interface d'administration de votre routeur.
  2. Ajoutez des règles de Port Forwarding pour chaque port mentionné plus haut :
    • UDP 7777 vers 192.168.25.12.
    • UDP 7778 vers 192.168.25.12.
    • UDP 27015 vers 192.168.25.12.
    • TCP 27020 vers 192.168.25.12.
  3. Appliquez les modifications.

Étape 5 : Vérifier la Connectivité

Tester les Ports :

Utilisez un outil comme canyouseeme.org ou nmap pour vérifier si les ports sont accessibles depuis l'extérieur.

Observer les Logs :

  1. Accédez à Firewall > Log Files > Live View.
  2. Vérifiez que les paquets destinés aux ports (par exemple, 7777) sont reçus et transmis à votre serveur ARK.

Étape 6 : Résolution des Problèmes

Si le serveur n'est toujours pas accessible :

  1. Vérifiez les Logs du Pare-feu :
    • Si le trafic est bloqué, vérifiez les règles NAT et pare-feu.
  2. Testez depuis le Réseau Local :
    • Essayez de vous connecter à l'IP locale du serveur ARK (192.168.1.120).
  3. Assurez-vous que le Serveur ARK est Démarré :
    • Vérifiez que les ports nécessaires sont configurés dans le fichier de configuration du serveur ARK.

Conclusion

Avec cette configuration, votre serveur ARK: Survival Ascended devrait être accessible depuis l'extérieur, même avec un pare-feu OPNsense. N'oubliez pas d'ajouter vos captures d'écran pour illustrer chaque étape et de tester minutieusement la configuration.

Si vous avez des questions ou souhaitez partager votre expérience, n'hésitez pas à laisser un commentaire ci-dessous ! 😊

Dockker - 001 - De zéro à HTTPS : Déployer SWAG sur Debian avec Docker et OVH

Installer SWAG sur Debian avec Docker et gérer les DNS OVH Dans ce tutoriel, découvrez comment installer SWAG (Secure Web Application Ga...