Update docs/Savaneprod/2025-03-31-certificats-wildcard-pour-synology.md
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -17,14 +17,15 @@ Pour importer automatiquement les certificats dans Synology DSM j'utilise le scr
|
|||||||
## Utilisation du script
|
## Utilisation du script
|
||||||
|
|
||||||
Prérequis :
|
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
|
```bash
|
||||||
cd /la/ou/qutu/veux/que/ton/certificat/il/soit
|
cd /la/ou/qutu/veux/que/ton/certificat/il/soit
|
||||||
git clone https://gitea.savaneprod.fr/Savaneprod/Certificats.git
|
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
|
```bash
|
||||||
DOMAIN='savaneprod.fr'
|
DOMAIN='savaneprod.fr'
|
||||||
SUBJECT_ALTERNATIVE_NAME='*.savaneprod.fr'
|
SUBJECT_ALTERNATIVE_NAME='*.savaneprod.fr'
|
||||||
@@ -33,12 +34,13 @@ SUBJECT_ALTERNATIVE_NAME='*.savaneprod.fr'
|
|||||||
## Côté infomaniak
|
## Côté infomaniak
|
||||||
### Pour le challenge DNS (vérification que l'on possède bien le nom de domaine)
|
### 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)
|
- 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 :
|
- 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".
|
Depuis la page d'accueil. Aller dans "Utilisateur et profil", "Mon profil", "Développeur" et "Tokens API".
|
||||||
|
|
||||||

|

|
||||||
* À 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
|
```bash
|
||||||
INFOMANIAK_API_TOKEN="mon_t0k3n_9uil_e2t_grand_et_b1en_utile"
|
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
|
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 "$ACMESH_CONTAINER_DATA_PATH":/acme.sh \
|
||||||
-v "$SCRIPT_PATH/logs:/logs" \
|
-v "$SCRIPT_PATH/logs:/logs" \
|
||||||
-e $INFOMANIAK_API_TOKEN \
|
-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
|
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
|
# https://github.com/acmesh-official/acme.sh/wiki/deployhooks#20-deploy-the-certificate-to-synology-dsm
|
||||||
export SYNO_USE_TEMP_ADMIN=1
|
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
|
unset DOMAIN SUBJECT_ALTERNATIVE_NAME
|
||||||
|
|
||||||
done
|
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
|
exit 0
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -162,7 +154,7 @@ exit 0
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user