#1704: Как добавить собственный CA сертификат в Swarmica
Отредактирована: 59 дней назадВ данной статье описана инструкция как добавить собственный CA сертификат в Swarmica.
Инструкция
1. Подключитесь к Swarmica серверу по SSH как root пользователь.
2. Создайте папку /root/swarmica/custom_certs:
mkdir /root/swarmica/custom_certs
3. Загрузите собственный CA сертификат в созданную папку. Если необходимо добавить несколько CA сертификатов их можно объединить в один. Например вот так:
cat CA-cert1.crt CA-cert2.crt > CAcert.crt
Важно, чтобы у каждого из CA сертификатов был в формате PEM, то есть начинался с:
-----BEGIN CERTIFICATE-----
Если сертификаты в DER формате, то перед объединением каждый из таких сертификатов необходимо конвертировать в PEM формат. Например:
openssl x509 -inform DER -in ca.crt -out ca.pem
4. Создайте резервную копию файлов /root/swarmica/docker-compose.yml и /root/swarmica/.env:
cp /root/swarmica/docker-compose.yml{,.backup}
cp /root/swarmica/.env{,.backup}
5. Добавьте volume с CA сертификатом в /root/swarmica/docker-compose.yml в сервис django:
<...>
django: &django
image: reg.gl.swd.im/swarmica/backend:${SW_BACKEND_VERSION}
depends_on:
- postgres
- redis
volumes:
- swarmica_ai_assistant:/swarmica/swarmica/ai_assistant/articles/:z
- swarmica_runtime:/swarmica/swarmica/runtime_scripts/:z
- swarmica_static:/swarmica/swarmica/static:z
- swarmica_ugc:/swarmica/swarmica/attachments:z
- swarmica_uploads:/swarmica/swarmica/uploads/:z
- /root/swarmica/Articles/:/swarmica/swarmica/old_articles/:z
- /root/swarmica/custom_certs/<CA-cert-name>.crt:/usr/local/share/ca-certificates/<CA-cert-name>.crt:ro # <--- НУЖНАЯ СТРОКА
env_file:
- .env
<...>
где <CA-cert-name>.crt - это имя файла CA сертификата.
6. Добавьте следующие строки в файл /root/swarmica/.env:
REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
SSL_CERT_FILE=/usr/local/share/ca-certificates/<CA-cert-name>.crt
где <CA-cert-name>.crt - это имя файла CA сертификата.
7. Перезапустите Свормики:
docker compose down && docker compose up -d