# Как добавить собственный CA сертификат в Swarmica
В данной статье описана инструкция как добавить собственный CA сертификат в Swarmica.

# Инструкция

1\. Подключитесь к Swarmica серверу по SSH как root пользователь.

2\. Создайте папку /root/swarmica/custom\_certs:

```bash
mkdir /root/swarmica/custom_certs
```

3\. Загрузите собственный CA сертификат в созданную папку. Если необходимо добавить несколько CA сертификатов их можно объединить в один. Например вот так:

```txt
cat CA-cert1.crt CA-cert2.crt > CAcert.crt
```

:::caution
Важно, чтобы у каждого из CA сертификатов был в формате PEM, то есть начинался с:&#x20;


`-----BEGIN CERTIFICATE-----`


Если сертификаты в DER формате, то перед объединением каждый из таких сертификатов необходимо конвертировать в PEM формат. Например:


`openssl x509 -inform DER -in ca.crt -out ca.pem`
:::

4\. Создайте резервную копию файлов `/root/swarmica/docker-compose.yml` и `/root/swarmica/.env`:

```txt
cp /root/swarmica/docker-compose.yml{,.backup}
cp /root/swarmica/.env{,.backup}
```

5\. Добавьте volume с CA сертификатом в `/root/swarmica/docker-compose.yml` в сервис django:

```yaml
<...>
  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 сертификата.&#x20;

6\. Добавьте следующие строки в файл `/root/swarmica/.env`:

```txt
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 сертификата.&#x20;

7\. Перезапустите Свормики:

```bash
docker compose down && docker compose up -d
```