Возможно вопрос уже не актуальный но я использую единый файл для записи указав его вот так:
volumes:
- ./traefik/acme.json:/acme.json
после чего внутри файл могу пописать значения:
{
"myresolver": {
"Account": {
"Email": "XXX@mail.ru",
"Registration": {
"body": {
"status": "valid",
"contact": [
"mailto:XXX@mail.ru"
]
},
"uri": "https://acme-v02.api.letsencrypt.org/acme/acct/1627690517"
},
"PrivateKey": "MIIJKgIBAAKC"
"KeyType": "4096"
},
"Certificates": [
{
"domain": {
"main": "proxy.domen.ru"
},
"certificate": "LS0tLS1CRUd"
"key": "LS0tLS1CRUdJTi"
"Store": "default"
},
и нужно не забыть указать в yaml файле траефика:
command:
- "--certificatesresolvers.myresolver.acme.email=XXX@mail.ru"
- "--certificatesresolvers.myresolver.acme.storage=/traefik/acme.json"
мой полный ymal файл в качестве примера:
version: '3.7'
services:
traefik:
image: traefik:v2.5
container_name: traefik
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik/acme.json:/acme.json
- ./traefik/traefik.yml:/traefik.yml
- ./traefik/dynamic_conf.yml:/dynamic_conf.yml
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "--certificatesresolvers.myresolver.acme.email=XXX@mail.ru"
- "--certificatesresolvers.myresolver.acme.storage=/traefik/acme.json"
- "--providers.file.filename=/traefik/dynamic_conf.yml"
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.rule=Host(`proxy.domen.ru`)"
- "traefik.http.routers.traefik.service=api@internal"
- "traefik.http.routers.traefik.entrypoints=websecure"
- "traefik.http.routers.traefik.tls.certresolver=myresolver"
networks:
default:
external:
name: web
Файловая структура:
/home/sky/
├── docker-compose.yml
└── traefik/
└── acme.json
└── dynamic_conf.yml
└── traefik.yml