Update docs/Savaneprod/2025-03-31-certificats-wildcard-pour-synology.md
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
jf
2025-04-01 12:25:30 +02:00
parent a9c1c2a90c
commit c17b2a5a6d

View File

@@ -17,14 +17,15 @@ Pour importer automatiquement les certificats dans Synology DSM j'utilise le scr
## Utilisation du script
Prérequis :
* Un compte [ZeroSSL](https://app.zerossl.com/signup).
* La commande `git` installée via le dépôt Synocommunity https://synocommunity.com/package/git.
- Un compte [ZeroSSL](https://app.zerossl.com/signup).
- La commande `git` installée via le dépôt Synocommunity https://synocommunity.com/package/git.
```bash
cd /la/ou/qutu/veux/que/ton/certificat/il/soit
git clone https://gitea.savaneprod.fr/Savaneprod/Certificats.git
```
* Tu crées un fichier `.domain` dans `./domains` qui contient le Common Name et le Subject Alternative Name :
- Tu crées un fichier `.domain` dans `./domains` qui contient le Common Name et le Subject Alternative Name :
```bash
DOMAIN='savaneprod.fr'
SUBJECT_ALTERNATIVE_NAME='*.savaneprod.fr'
@@ -33,12 +34,13 @@ SUBJECT_ALTERNATIVE_NAME='*.savaneprod.fr'
## Côté infomaniak
### Pour le challenge DNS (vérification que l'on possède bien le nom de domaine)
* Utilisation de l'API infomaniak : [https://github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_infomaniak](https://github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_infomaniak)
* Création d'un token d'API pour la gestion des entrées DNS :
- Utilisation de l'API infomaniak : [https://github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_infomaniak](https://github.com/acmesh-official/acme.sh/wiki/dnsapi2#dns_infomaniak)
- Création d'un token d'API pour la gestion des entrées DNS :
Depuis la page d'accueil. Aller dans "Utilisateur et profil", "Mon profil", "Développeur" et "Tokens API".
![Création d'un token d'API pour gérer les entrées DNS](infomaniak_API_token.png)
* À partir de ça tu crées un fichier `INFOMANIAK_API_TOKEN.secret` qui contient :
- À partir de ça tu crées un fichier `INFOMANIAK_API_TOKEN.secret` qui contient :
```bash
INFOMANIAK_API_TOKEN="mon_t0k3n_9uil_e2t_grand_et_b1en_utile"
```
@@ -120,11 +122,11 @@ do
echo "####### $ACTION du certificat $DOMAIN #######" | tee -a $SCRIPT_PATH/$LOGFILENAME
docker run --rm -it \
docker run --rm \
-v "$ACMESH_CONTAINER_DATA_PATH":/acme.sh \
-v "$SCRIPT_PATH/logs:/logs" \
-e $INFOMANIAK_API_TOKEN \
$DOCKER_IMAGE $ISSUE_OR_RENEW -d $DOMAIN -d $SUBJECT_ALTERNATIVE_NAME --server zerossl --eab-kid $EAB_KID --eab-hmac-key $EAB_HMAC_KEY --dns dns_infomaniak --log "/$LOGFILENAME"
$DOCKER_IMAGE $ISSUE_OR_RENEW -d $DOMAIN -d $SUBJECT_ALTERNATIVE_NAME --server zerossl --eab-kid $EAB_KID --eab-hmac-key $EAB_HMAC_KEY --dns dns_infomaniak --log /$LOGFILENAME --log-level 2
echo "####### Déploiement du certificat $DOMAIN sur DSM #######" | tee -a $SCRIPT_PATH/$LOGFILENAME
@@ -139,22 +141,12 @@ do
# https://github.com/acmesh-official/acme.sh/wiki/deployhooks#20-deploy-the-certificate-to-synology-dsm
export SYNO_USE_TEMP_ADMIN=1
bash $ACMESH_LOCAL_PATH/acme.sh --home $ACMESH_CONTAINER_DATA_PATH -d $DOMAIN -d $SUBJECT_ALTERNATIVE_NAME --deploy --deploy-hook synology_dsm --log $SCRIPT_PATH/$LOGFILENAME
bash $ACMESH_LOCAL_PATH/acme.sh --home $ACMESH_CONTAINER_DATA_PATH -d $DOMAIN -d $SUBJECT_ALTERNATIVE_NAME --deploy --deploy-hook synology_dsm --log $SCRIPT_PATH/$LOGFILENAME --log-level 2
unset DOMAIN SUBJECT_ALTERNATIVE_NAME
done
#echo "
####### Suppression de $ACMESH_LOCAL_PATH... ########
"
#rm -rf $ACMESH_LOCAL_PATH
# echo "
####### Suppression de l'image docker... #######
"
#docker rmi -f $DOCKER_IMAGE
exit 0
```
@@ -162,7 +154,7 @@ exit 0
![Planificateur de tâche, onglet "General"](task_general-tab.png)
J'ai finalement décidé de renouveler tous les mois parce que le Synology propose tous les 3 mois mais la durée de vie du certificat est légèrement inférieure. Et je n'ai pas cherché à configurer le renouvellement tous les deux mois.
J'ai finalement décidé de renouveler tous les mois parce que le Synology propose tous les 3 mois mais la durée de vie du certificat est légèrement inférieure. Et je n'ai pas cherché à configurer le renouvellement tous les deux mois. En plus acme.sh fait une vérification pour toi.
![Planificateur de tâches, onglet "Schedule"](task_Schedule-tab.png)