Налаштування сертифікату Let’s Encrypt для proxmox

Встановлюємо безпосередньо certbot:

Пакет certbot доступний в Debian (база збірки Proxmox VE), тому ви можете просто встановити його за допомогою apt:

apt install certbot

Отримуємо сертифікат:

Просто виконуємо наступну команду і слідуємо підказкам на екрані, щоб отримати сертифікат

certbot certonly

Прикручуємо сертифікат до Proxmox:

Необхіно скопіювати сертифікат з папки letsencrypt в папку proxmox

cp /etc/letsencrypt/live/<domain>/fullchain.pem /etc/pve/local/pveproxy-ssl.pem
cp /etc/letsencrypt/live/<domain>/privkey.pem /etc/pve/local/pveproxy-ssl.key

Після цього перезапустити pveproxy:

systemctl restart pveproxy

Налаштування автооновлення сертифіката:

Створюємо bash-скрипт з командами, які ми вводили вище, робимо його виконуваним і поміщаємо, наприклад в /usr/local/bin/renew-pve-certs.sh

#!/usr/bin/bash

cp /etc/letsencrypt/live/<domain>/fullchain.pem /etc/pve/local/pve-ssl.pem
sleep 2
cp /etc/letsencrypt/live/<domain>/privkey.pem /etc/pve/local/pve-ssl.key
sleep 2

service pveproxy restart

Після цього редагуємо файл /etc/crontab і додаємо в нього наступний запис:

30 6 1,15 * * root /usr/bin/certbot renew --quiet --post-hook /usr/local/bin/renew-pve-certs.sh

Перезапускаємо демон cron:

service cron reload

Таким чином сертифікат буде оновлюватися кожного 1 і 15 числа щомісяця о 6.30 ранку.