Installation¶
1 - Préparation du nom de domaine¶
Chez notre fournisseur DNS, il vous faut créer un enregistrement A pour le domaine principal et le faire pointer vers l'adresse IP de votre box/routeur (WAN). Il faut également créer un enregistrement CNAME wildcard * et le faire pointer vers l'enregistrement A du domaine.
Information importante
Sur Cloudflare, Il faut décocher le nuage orange afin qu'il ne s'agisse que d'une requête DNS et non d'une requête mise en cache ou relayée par Cloudflare, ce qui complexifierait inutilement la configuration.
2 - Fichier docker compose¶
Méthode Cloudflare¶
Exemple de configuration avec un nom de domaine enregistré chez Cloudflare
services:
swag:
image: lscr.io/linuxserver/swag:latest
container_name: swag
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- URL=exemple.fr
- SUBDOMAINS=wildcard
- VALIDATION=dns
- DNSPLUGIN=cloudflare
volumes:
- /home/docker/appdata/swag/config:/config
ports:
- 443:443
networks:
swag_net:
ipv4_address: 172.25.0.5
restart: unless-stopped
networks:
swag_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.25.0.0/16
gateway: 172.25.0.1
Une fois le conteneur démarré, il faut consulter les logs :
Après quelques étapes d'initialisation, nous constaterons qu'une erreur de validation se produit en raison d'identifiants incorrects. En effet, nous n'avons pas encore saisi les identifiants corrects pour l'API Cloudflare. Nous pouvons accéder à l'emplacement /config/dns-conf mappé depuis l'hôte (conformément aux paramètres ci-dessus) et modifier le fichier __cloudflare.ini.Information importante
Ce jeton peut être créé en accédant à Mon profil > Jetons d'API et en créant un jeton disposant de l'autorisation « Modifier le DNS » sur les zones DNS pour lesquelles vous souhaitez demander des certificats.
Dans le fichier cloudflare.ini, commentez les valeurs :
- dns_cloudflare_email
- dns_cloudflare_api_key
puis décommentez dns_cloudflare_api_token et ajoutez votre jeton d'API.
Contenu du fichier cloudflare.ini :
# Instructions: https://github.com/certbot/certbot/blob/master/certbot-dns-cloudflare/certbot_dns_cloudflare/__init__.py#L20
# Replace with your values
# With global api key:
# dns_cloudflare_email = cloudflare@example.com
# dns_cloudflare_api_key = 0123456789abcdef0123456789abcdef01234567
# With token (comment out both lines above and uncomment below):
dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567
Server read yet qui indique que notre serveur web devrait être opérationnel et accessible à l'adresse https://www.exemple.fr.
Méthode OVH¶
Exemple de configuration avec un nom de domaine enregistré chez OVH
services:
swag:
image: lscr.io/linuxserver/swag:latest
container_name: swag
cap_add:
- NET_ADMIN
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- URL=exemple.fr
- SUBDOMAINS=wildcard
- VALIDATION=dns
- DNSPLUGIN=ovh
volumes:
- /home/docker/appdata/swag/config:/config
ports:
- 443:443
networks:
swag_net:
ipv4_address: 172.25.0.5
restart: unless-stopped
networks:
swag_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.25.0.0/16
gateway: 172.25.0.1
Une fois le conteneur démarré, il faut consulter les logs :
Après quelques étapes d'initialisation, nous constaterons qu'une erreur de validation se produit en raison d'identifiants incorrects. En effet, nous n'avons pas encore saisi les identifiants corrects pour l'API OVH. Nous pouvons accéder à l'emplacement /config/dns-conf mappé depuis l'hôte (conformément aux paramètres ci-dessus) et modifier le fichier ovh.ini.
Information importante
Ce jeton peut être créé en accédant via ce lien : auth.eu.ovhcloud.com/api/createToken
il vous sufit ensuite de renseigner les informations suivantes conformément à la documentation de certbot github.com/certbot/certbot/blob/master/certbot-dns-ovh/certbot_dns_ovh/init.py:
Dans le fichier ovh.ini, remplacez les valeurs suivantes avec vos jetons :
- dns_ovh_application_key
- dns_ovh_application_secret
- dns_ovh_consumer_key
Une fois les identifiants saisis dans le fichier .ini, il faut redémarer le conteneur Docker :
Après validation, une notification devrait s'afficherServer read yet notre serveur web devrait être opérationnel et accessible à l'adresse https://www.exemple.fr.
Sources¶
- docs.linuxserver.io/general/swag/
- www.forum-nas.fr/threads/tuto-installer-swag-en-docker-reverse-proxy.15057/
- docs.linuxserver.io/general/swag/
- docs.linuxserver.io/general/swag/