main
Badanin Maksim 2 years ago
commit 3551fb2335

@ -0,0 +1,5 @@
NPM_IMAGE=jc21/nginx-proxy-manager
NPM_VERSION=2.11.1
NPM_HOSTNAME=<CHANGE> #npm
DOMAIN_NAME=<CHANGE> #example.com
CA_HOSTNAME=<CHANGE> #ca

@ -0,0 +1,12 @@
ARG NPM_IMAGE
ARG NPM_VERSION
FROM $NPM_IMAGE:$NPM_VERSION
ARG DOMAIN_NAME
ARG CA_HOSTNAME
ENV CA_FQDN=${CA_HOSTNAME}.${DOMAIN_NAME}
RUN echo -e "server=https://$CA_FQDN/acme/acme/directory\nno-verify-ssl = true" >> /etc/letsencrypt.ini
RUN sed -i "s\Let's Encrypt\\$CA_FQDN\g" /app/frontend/js/*.js

@ -0,0 +1,34 @@
## Установка NGINX PROXY MANAGER в связке с локальним STEP-CA
Позволяем автоматически выпуска и перевыпускать сертификаты для проксирумых хостов.
Педполагает что уже развернут и работает локальный экземпляр [step-ca](https://git.badms.ru/bms/step-ca).
#### Параметры переменных в файле `.env`
```
NPM_IMAGE=jc21/nginx-proxy-manager # имя образа контейнера
NPM_VERSION=2.11.1 # версия контейнера
NPM_HOSTNAME=<CHANGE> # имя хоста(контейнера). Например: npm
DOMAIN_NAME=<CHANGE> # имя домена хоста. Например: example.com
CA_HOSTNAME=<CHANGE> # имя хоста(контейнера) локального step-ca. Например: ca
```
### Запуск
```
git clone https://git.badms.ru/bms/npm-step-ca.git
cd npm-step-ca
docker compose up -d
```
### ToDo
При работе с `Let's Encrypt` сертификаты выпускаются на `90 дней`, и продлеваются если осталось менее `30 дней` до истечения. `NPM` запускает процедуру перевыпуска сертификатов каждый `1 час` и сверяет дату кончания сертификатов, чтобы сделать запрос для устаревающих.
`STEP-CA` по умолчанию выпускает сертификаты на `1 день`, из-за этого `NPM` производит перевыпуск сертификата каждый час. В связи с этим, остается много старых файлов сертификатов в директории `data/npm-letsencrypt/archive`.
Варианты решения:
[ ] организовать очистку старых сертификатов
[ ] изменить максимальный срок выпуска сертификатов в `step-ca`

@ -0,0 +1,24 @@
version: '3.8'
services:
npm:
image: '${NPM_IMAGE}-step-ca:${NPM_VERSION}'
container_name: npm
hostname: ${NPM_HOSTNAME}.${DOMAIN_NAME}
restart: unless-stopped
build:
context: ./
args:
NPM_IMAGE: ${NPM_IMAGE}
NPM_VERSION: ${NPM_VERSION}
NPM_HOSTNAME: ${NPM_HOSTNAME}
DOMAIN_NAME: ${DOMAIN_NAME}
CA_HOSTNAME: ${CA_HOSTNAME}
ports:
- '80:80'
- '443:443'
- '81:81'
environment:
DISABLE_IPV6: 'true'
volumes:
- ./data/npm-data:/data
- ./data/npm-letsencrypt:/etc/letsencrypt
Loading…
Cancel
Save