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: AUTOXPOSENe 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=trueVous 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.















