Skip to content

Commit 5d625f4

Browse files
authored
Merge pull request #6 from contributor-pw/fix_build_ci_cd
docs: updare docs
2 parents 1e8967a + f8ff368 commit 5d625f4

File tree

1 file changed

+38
-5
lines changed

1 file changed

+38
-5
lines changed

README.md

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,19 +72,52 @@ sudo docker compose run --rm certbot certonly --webroot --webroot-path=/var/www/
7272

7373
### Шаг 5: Настройка автоматического обновления сертификатов
7474

75-
Добавьте задачу в `cron` на вашем сервере, чтобы сертификаты обновлялись автоматически. Откройте crontab:
75+
Добавьте задачу в `cron` на вашем сервере, чтобы сертификаты обновлялись автоматически. Команды `cron` лучше запускать от имени `root`, так как `docker` требует `sudo`.
7676

77+
Откройте crontab для `root`:
7778
```bash
78-
crontab -e
79+
sudo crontab -e
7980
```
8081

81-
И добавьте следующую строку, которая будет пытаться обновить сертификат дважды в день (Let's Encrypt обновит его, только если до истечения срока осталось меньше 30 дней):
82+
И добавьте следующую строку, заменив `/path/to/your/project/` на реальный путь к вашему проекту на сервере (например, `/opt/actions-runner/apps/relaxy`):
8283

8384
```crontab
84-
0 3,15 * * * /usr/bin/docker compose -f /path/to/your/project/docker-compose.yml run --rm certbot renew
85+
30 4 * * * cd /path/to/your/project/ && docker compose run --rm certbot renew && docker compose exec nginx nginx -s reload >> /var/log/cert-renew.log 2>&1
8586
```
8687

87-
> **Важно:** Замените `/path/to/your/project/` на реальный путь к вашему проекту на сервере.
88+
Эта задача будет выполняться каждый день в 4:30 утра. Она делает три вещи:
89+
1. Пытается обновить сертификат (`certbot renew`).
90+
2. В случае успеха (или если обновление не требуется), принудительно перезагружает конфигурацию Nginx, чтобы он подхватил новый сертификат (`nginx -s reload`).
91+
3. Записывает результат в лог-файл для отладки.
92+
93+
### Управление и проверка
94+
95+
Иногда нужно проверить статус сертификатов или запустить обновление вручную. Все команды выполняются на сервере в директории проекта.
96+
97+
#### Ручное обновление сертификата
98+
```bash
99+
# Запускаем обновление
100+
sudo docker compose run --rm certbot renew
101+
102+
# Применяем новый сертификат в Nginx
103+
sudo docker compose exec nginx nginx -s reload
104+
```
105+
106+
#### Проверка срока действия сертификата
107+
108+
**1. Изнутри контейнера (проверка файла на диске)**
109+
110+
Замените `<ваш_домен>` на ваш домен:
111+
```bash
112+
sudo docker compose exec nginx openssl x509 -in /etc/letsencrypt/live/<ваш_домен>/fullchain.pem -noout -dates
113+
```
114+
115+
**2. Снаружи (проверка того, что отдает сервер)**
116+
117+
Эту команду можно выполнить с любого компьютера. Замените `<ваш_домен>` на ваш домен:
118+
```bash
119+
openssl s_client -connect <ваш_домен>:443 -servername <ваш_домен> 2>/dev/null | openssl x509 -noout -dates
120+
```
88121

89122
### Шаг 6: Обычный режим работы
90123

0 commit comments

Comments
 (0)