acmesh-official / acmesh-official/acme.sh
Feature request: multideploy.yaml support customize path and domain config centrilized in one file
- Lenguaje dominante
- Shell
- Estrellas
- 47.6k
- Forks
- 5.7k
- Merge medio
- 6 d 5 h
- PR fusionados (30 d)
- 15
Descripción
currently the multideploy is not friendly for docker, the multideploy.yaml path hard code as like `$DOMAIN_PATH/$file`
https://github.com/acmesh-official/acme.sh/blob/2feb392bd0e3964d9bf68871ae804578d9d5ca80/deploy/multideploy.sh#L92
Is it possbile make the path be a setting, and the file content like:
```
# check your acme.sh version in wiki!
version: "1.0"
"*.example.com":
services:
- name: "traefik"
hook: "docker"
environment:
DEPLOY_DOCKER_CONTAINER_LABEL: "sh.acme.autoload.service=traefik"
DEPLOY_DOCKER_CONTAINER_KEY_FILE: "/certs/example.com/key.pem"
DEPLOY_DOCKER_CONTAINER_CERT_FILE: "/certs/example.com/cert.pem"
DEPLOY_DOCKER_CONTAINER_CA_FILE: "/certs/example.com/ca.pem"
DEPLOY_DOCKER_CONTAINER_FULLCHAIN_FILE: "/certs/example.com/fullchain.pem"
- name: "adguardhome"
hook: "docker"
environment:
DEPLOY_DOCKER_CONTAINER_LABEL: "sh.acme.autoload.service=dns01"
DEPLOY_DOCKER_CONTAINER_KEY_FILE: "/opt/adguardhome/work/data/encryption/example.com/key.pem"
DEPLOY_DOCKER_CONTAINER_FULLCHAIN_FILE: "/opt/adguardhome/work/data/encryption/example.com/fullchain.pem"
- name: "technitium-dns"
hook: "docker"
environment:
DEPLOY_DOCKER_CONTAINER_LABEL: "sh.acme.autoload.service=dns02"
DEPLOY_DOCKER_CONTAINER_PFX_FILE: "/etc/dns/certs/example.com.pfx"
- name: "router01"
hook: "routeros"
environment:
ROUTER_OS_USERNAME: "certuser"
ROUTER_OS_HOST: "router.example.com"
ROUTER_OS_PORT: "22"
- name: "nas01"
hook: "synology_dsm"
environment:
SYNO_SCHEME: "http"
SYNO_HOSTNAME: "localhost"
SYNO_PORT: "5000"
SYNO_CREATE: "1"
SYNO_CERTIFICATE: "PROD-$_cdomain"
"domain2.com":
......
"domain3.com":
......
"domain4.com":
......
```
Guía de contribución
Línea de trabajo
The issue points to deploy/multideploy.sh line 92 where the path is hardcoded. Start by reading the multideploy.sh script to understand how it loads configuration. Then examine the proposed YAML structure and decide how to parse it. The change involves modifying the script to read a configurable path and support a centralized YAML file with domain-specific settings. Test by creating a sample multideploy.yaml and running the deploy script to see if it picks up the new settings.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- docker, shell
- Área
- cli, devops
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 55/100