Sélectionner Une Page

Autoxpose L’auto DNS & NPM

UTILITAIRES

Autoxposer permet la configuration automatique du DNS et du proxy inverse pour les conteneurs Docker.

Ajoutez une étiquette à votre conteneur et autoxpose crée l'enregistrement DNS et configure votre proxy inverse avec SSL - aucune configuration manuelle requise.

Principales caractéristiques

  • Découverte automatique : analyse les conteneurs Docker pour les étiquettes à pose automatique
  • Gestion DNS : crée et supprime des enregistrements DNS avec vérification de propagation
  • Détection automatique SSL et Scheme : détection HTTPS automatique et gestion des certificats SSL
  • Mode d'exposition automatique : expose automatiquement les services lorsqu'ils sont découverts avec autoxpose.enable=auto
  • Étiquettes de service : catégoriser automatiquement les services (Web, base de données, médias, etc.) avec des badges à code couleur
  • Nettoyage des ressources orphelines : détecter et nettoyer les enregistrements DNS et les hôtes proxy obsolètes
  • Léger : conteneur unique avec base de données SQLite intégrée - pas de dépendances externes
Fournisseurs pris en charge
  • DNS: Cloudflare, Netlify, DigitalOcean, Porkbun
  • Proxy: Nginx Proxy Manager, Caddy

Descriptif traduit du GitHub

Pré-requis

Cette application peut être intéressante pour tester et exposer des applications en un simple clic.

Vous devez disposer :

Soit d'un Fournisseur DNS pris en charge : Cloudflare, Netlify, DigitalOcean, Porkbun

Soit de NDD validé(s) sous NPM ou Caddy et de préférence en Wildcard (test pour cet article).

1. Configuration Console

1.1. Application personnalisée

Cliquez sur l’icône + en haut à droite de la page d’accueil au dessus des tuiles et sélectionnez Installer une application personnalisée.

1.2. Onglet YAML

La fenêtre des paramètres de votre application s’ouvre et cliquez sur l'onglet, en haut à droite, avec pour libellé YAML.

1.3. Copier-Coller le YAML

Copier-coller dans la fenêtre, à la place de ce qui est inscrit, le code de configuration ci-dessous (ouvrir la bascule). 

YAML

Autoxpose

services:
  autoxpose:
    command: null
    deploy:
      resources:
        limits:
          memory: 4GB
          cpus: "1.00"
        reservations:
          memory: 256MB
          cpus: "0.00"
      placement: {}
    entrypoint: null
    environment:
      LAN_IP: 
      SERVER_IP: 
    image: mostafawahied/autoxpose:latest
    labels:
      icon: https://github.com/mostafa-wahied/autoxpose/raw/main/packages/frontend/public/autoxpose-logo.svg
    network_mode: bridge
    ports:
      - mode: ingress
        target: 3000
        published: "4949"
        protocol: tcp
    restart: unless-stopped
    volumes:
      - type: bind
        source: /DATA/AppData/autoxpose/data
        target: /app/packages/backend/data
      - type: bind
        source: /var/run/docker.sock
        target: /var/run/docker.sock
x-casaos:
  hostname: ""
  icon: https://github.com/mostafa-wahied/autoxpose/raw/main/packages/frontend/public/autoxpose-logo.svg
  index: /
  is_uncontrolled: false
  main: autoxpose
  port_map: "4949"
  scheme: http
  store_app_id: autoxpose
  title:
    custom: AUTOXPOSE

Ne cliquez pas sur Installer, mais sur l'onglet de gauche Formulaire

1.4. Paramètres de Autoxpose

À Environnement ⇾ Variables

LAN_IP = l'adresse IP locale de votre serveur

SERVER_IP = l'adresse IP Publique de votre Box/Routeur

1.5. Installer

Cliquez sur Installer et patientez le temps de l’installation.

Puis, cliquez sur la nouvelle tuile créée pour ouvrir une nouvelle page web.

Si vous avez installé et activé ZFW, créez une règle pour le port 4949.

1.6. Bonus icône blanche

Si vous avez un fond noir, indiquez l'adresse ci-desous à l'emplacement de l'icône pour qu'elle apparaîsse en blanc.

Icône autoxpose blanche

2. Configuration

2.1. Fournisseur de DNS

À la première ouverture de la page web, aucune application n'apparaît.

Il nous faut dans un premier temps, renseigner le fournisseur de DNS, pour cet article, ce sera le Proxy Inversé NPM.

Remplissez les champs avec,

L'IP locale de NPM suivi du port d'écoute (:81)

Vos Identifiants d'accès à NPM

Validez avec le bouton Save.

Puis, cliquez sur la ligne "Test de connexion" (fenêtre de gauche)

Si tout s'est bien passé = connected

Sur la fenêtre de droite, si vous avez bien créé un wildcard (comme indiqué dans les Pré-Requis) avec NPM, il sera reconnu instantanément.

Validez son utilisation.

2.2. Configurer l'application

Revenez sur ZimaOS et ouvrez (Gérer) la configuration d'une application que vous souhaitez exposer sur le web.

Sur l'onglet du container principal (celui du port d'écoute), descendez au bas du tableau de configuration. Ouvrez "Avancé (Afficher plus)" et descendez jusqu'à la toute dernière étagère : "Étiquettes Docker". Et, cliquez sur l'icône "+" pour faire apparaître une nouvelle ligne.

Indiquez sur cette nouvelle ligne :

autoxpose.enable=true

Vous pourrez, une fois le principe compris, ajouter d'autres lignes pour activer des fonctionnalités supplémentaires (voir GittHub).

Puis, "Enregistrer" pour redéployer la pile.

2.3. Générer le wilcard

Revenez à présent sur la page web de Autoxpose.

Cliquez sur le bouton au centre : Scan for containers.

La (les) pile(s) avec l'étiquette "autoxpose.enable" est (sont) reconnues sur l'interface.

Un nom de sous domaine est proposé et basé sur le nom de la pile docker (ici k7-server.yapasdebug.bzh). Vous pouvez le modifier en cliquant sur le nom proposé.

Le nom du sous-domaine (wildcard) déterminé, cliquez à présent sur l'icône bleu "Play" face au nom (Expose service).

Autoxpose exécute sur NPM la création du nouveau NDD en wildcard.

Un lien est généré pour vérifier votre application, à présent, en HTTPS.

Vérifier (pour une première création) sur NPM la configuration de l'hôte proxy (identique au NDD maître si configuré).

Aussi, sur l'interface d'Autoxpose, vous pouvez stopper à tout moment l'exposition des applications de votre choix.

morgyann

morgyann

Curieux de nature, j’ai découvert le monde des serveurs et plus particulièrement les applications Docker en apprenant au fil des essais et des ressources partagées sur le web. En retour, je partage ce que je connais et plus particulièrement à l'intention des débutants.

Vous pouvez me retrouver sur Forum des NAS sur lequel je participe régulièrement.

Soutenons l'utilisation des applications open source et leurs développeurs.