Инструкция по установке DevOps
-
Как развернуть, настроить и поддерживать Corta
-
Cистемные требования для установки
-
Резервное копирование и восстановление данных
-
Изменение пароля базы данных (MySQL и PostgreSQL)
-
Использование SQL-запросов для массовых операций с данными
-
Устранение неполадок и диагностика работы платформы
-
Проверка работоспособности системы
-
Настройка логирования
Как развернуть, настроить и поддерживать Corta: руководство DevOps
Это руководство предназначено для специалистов DevOps и IT-администраторов, которые занимаются установкой, настройкой и эксплуатацией платформы Corta в корпоративной инфраструктуре.
Условия, системные и инфраструктурные требования
Перед началом установки убедитесь, что оборудование и программное окружение соответствуют минимальным требованиям Corta:
Аппаратные требования
-
Процессор: Intel Xeon или AMD Ryzen (4 ядра и выше, поддержка виртуализации).
-
Оперативная память: 16 ГБ ОЗУ (допустимо от 8 ГБ для небольших проектов).
-
Диск: NVMe SSD 100 ГБ+ (рекомендуется 500 ГБ для крупных внедрений).
-
Сеть: Поддержка гигабитного Ethernet.
Программные требования
- ОС:
- Ubuntu Server 20.04+ (рекомендуется)
- Debian 11, CentOS 8/9 — альтернативные варианты
- Astra Linux (версии Common Edition 2.12+, Special Edition 1.7+)
- РЕД ОС (версия 7.3+)
- Альт Линукс (версии 8.5+)
- Docker или Podman — для контейнерного деплоя компонентов.
- БД:
- PostgreSQL 13+ (рекомендуется)
- MySQL поддерживается, но предпочтение отдается PostgreSQL.
Сетевые порты
80
(HTTP) — веб-интерфейс (или прокси).443
(HTTPS) — защищённый доступ (опционально).5432
(PostgreSQL) — между платформой и базой данных.- Дополнительные порты могут понадобиться для API, интеграций и т.п.
Как подготовить окружение для установки Corta
Требуется установить:
Docker
Для работы с предсобранными образами необходим установленный и активный Docker на каждом сервере, где планируется запуск Corta. Инструкции по установке Docker доступны на официальном сайте Docker.
Вы также можете загрузить архив с исходными файлами с нашей страницы релизов либо собрать образы самостоятельно.
Docker Compose
Этот инструмент значительно облегчает управление многоконтейнерными проектами. Ознакомьтесь с документацией Docker Compose для настройки.
Как устроена архитектура и репозитории платформы Corta
Архитектура платформы Corta
Платформа состоит из интегрированных компонентов:
- Веб-приложения взаимодействуют с сервером через REST API.
- Аутентификация осуществляется через отдельный сервис.
- Сервер обрабатывает запросы, работает с внутренними службами (БД, файловое хранилище, трекинг ошибок и логов, автоматизация - Corredor и т. д.).
- Вспомогательные сервисы: федерация данных, файловое хранилище, рассылка почты и др.

Репозитории Corta и их структура
- corta — основной моно-репозиторий с ядром платформы
- corta-server-corredor — модуль автоматизации Corredor
- corta-docs — вся документация проекта

Как настроить конфигурационные файлы системы
Платформа настраивается через файл окружения .env (в корне проекта, рядом с docker-compose.yaml
).
Файл .env управляет параметрами Docker Compose, переменными среды и настройками сервисов.
Используйте переменные из .env в файле docker-compose.yaml через синтаксис ${ВАША_ПЕРЕМЕННАЯ}.
Как развернуть платформу Corta локально
Структура файлов и папок
📁 my-corta
📄 .env
📄 docker-compose.yaml
📁 data
📁 server # директория для данных сервера и загруженных файлов
📁 db # директория для хранения данных БД
Рекомендуется сменить владельца на контейнер Docker для папок data/server и data/db:
chown 1001:1001 data/db
chown 4242:4242 data/server
Пример docker-compose.yaml для Corta
version: '3.5'
services:
server:
image: cortaproject/corta:${VERSION}
restart: always
env_file: [ .env ]
depends_on: [ db ]
ports: [ "127.0.0.1:18080:80" ]
db:
image: postgres:15
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U corteza"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- "dbdata:/var/lib/postgresql/data"
environment:
POSTGRES_USER: corta
POSTGRES_PASSWORD: corta
volumes:
dbdata:
Поддерживаются PostgreSQL версии 13, 14, 15.
Как запустить сервисы
В корневой директории проекта выполните:
docker-compose up -d
Проверьте запуск командой:
docker-compose ps
Результат:
Name Command State Ports
----------------------------------------------------------------------------
demo_pgsql_db_1 docker-entrypoint.sh psql Up (healthy) 5432/tcp
demo_pgsql_server_1 bin/server serve-api Up (healthy) 127.0.0.1:18080->80/tcp
Как проверить работу развертывания
- Откройте в браузере http://localhost:18080
- Будет отображена страница входа
- По первой регистрации создаётся администратор
- Проверка версии: http://localhost:18080/version
- Проверка работоспособности: http://localhost:18080/healthcheck
- Документация API: http://localhost:18080/api/docs/
Если не настроены SMTP-параметры, все регистрации подтверждаются автоматически.
Установка и настройка PostgreSQL
sudo apt install -y postgresql postgresql-contrib
sudo -u postgres psql
# Внутри psql:
CREATE DATABASE corta_db;
CREATE USER corta_user WITH ENCRYPTED PASSWORD 'сложный_пароль';
GRANT ALL PRIVILEGES ON DATABASE corta_db TO corta_user;
\q
Редактируем доступ в /etc/postgresql/13/main/pg_hba.conf
:
host all corta_user 127.0.0.1/32 md5
Перезапускаем БД:
sudo systemctl restart postgresql
Как развернуть Corta в онлайн-режиме (рабочая инфраструктура)
Организация структуры каталогов
📁 my-proxy
📄 docker-compose.yaml
📄 custom.conf
📁 my-corta
📄 .env
📄 docker-compose.yaml
📁 data
📁 server
📁 db
При необходимости использования прокси
Настройка обратного прокси
В каталоге my-proxy добавьте docker-compose.yaml:
version: '3.5'
services:
nginx-proxy:
image: nginxproxy/nginx-proxy
container_name: nginx-proxy
restart: always
networks:
- proxy
ports:
- "80:80"
- "443:443"
volumes:
- ./certs:/etc/nginx/certs
- ./htpasswd:/etc/nginx/htpasswd
- ./vhost.d:/etc/nginx/vhost.d
- ./html:/usr/share/nginx/html
- ./custom.conf:/etc/nginx/conf.d/custom.conf:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
nginx-letsencrypt:
image: nginxproxy/acme-companion
container_name: nginx-letsencrypt
restart: always
depends_on:
- nginx-proxy
volumes_from:
- nginx-proxy:rw
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- acme:/etc/acme.sh
networks:
proxy:
external: true
volumes:
acme:
custom.conf (пример):
client_max_body_size 1g;
proxy_read_timeout 86400s;
client_header_buffer_size 64k;
large_client_header_buffers 4 64k;
proxy_ignore_client_abort on;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
Запуск:
docker-compose up -d
Проверьте запуск так же через docker-compose ps.
Конфигурация docker-compose.yaml для Corta (my-corta)
version: '3.5'
services:
server:
image: corta/corta:${VERSION}
networks: [ proxy, internal ]
restart: always
env_file: [ .env ]
depends_on: [ db ]
volumes: [ "./data/server:/data" ]
environment:
VIRTUAL_HOST: ${DOMAIN}
LETSENCRYPT_HOST: ${DOMAIN}
db:
image: postgres:15
networks: [ internal ]
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U corteza"]
interval: 10s
timeout: 5s
retries: 5
environment:
POSTGRES_USER: corta
POSTGRES_PASSWORD: corta
networks:
internal: {}
proxy:
external: true
Пример .env для продакшн-развертывания
DOMAIN=your-demo.example
VERSION=
DB_DSN=postgres://corta:corta@db:5432/corta?sslmode=disable
HTTP_WEBAPP_ENABLED=true
# AUTH_JWT_SECRET=уникальная_строка_более_30_символов
#SMTP_HOST=smtp-server.example:587
#SMTP_USER=Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.
#SMTP_PASS=your-smtp-password
#SMTP_FROM='"Demo" <Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. >'
Как запустить сервисы
В каталоге my-corta выполните:
docker-compose up -d
Проверьте запуск:
docker-compose ps
Ожидаемый вывод:
Name Command State Ports
----------------------------------------------------------------------------------------
my_production_demo_db_1 docker-entrypoint.sh postgres Up (healthy) 5432/tcp
my_production_demo_server_1 /bin/corta-server serve-api Up (healthy) 80/tcp
Первичная настройка, администрирование и безопасность
- Откройте сервис в браузере.
- Выполните подключение к базе согласно переменным docker-compose.
- Создайте пользователя-администратора.
- Конфигурируйте бизнес-процессы и приложения через веб-интерфейс.
Мониторинг, резервное копирование и обслуживание
Логи:
docker logs corta_server
Резервное копирование базы:
sudo -u postgres pg_dump corta_db > backup_$(date +%Y%m%d).sql
Полезные команды для работы с Docker и Docker Compose
Таблица основных команд Docker:
Задача | Команда |
---|---|
Выполнить команду в запущенном контейнере | docker exec -it <имя_контейнера> help |
Выполнить команду в не запущенном контейнере | docker run -it --rm <имя_образа> help |
Таблица основных команд Docker Compose:
Задача | Команда |
---|---|
Остановить и удалить контейнеры с томами | docker-compose rm --force --stop -v |
Смотреть логи всех контейнеров | docker-compose logs --follow --tail 20 |
Смотреть логи только для выбранного сервиса | docker-compose logs --follow --tail 20 <имя_сервиса> |
Запуск bash в контейнере | docker-compose exec <имя_сервиса> bash |
DevOps-методики
- Corta рекомендуется контейнеризировать (Docker/Podman), что обеспечивает гибкость, масштабируемость и быстрое восстановление.
- Для гибридных и масштабных внедрений возможна настройка кластерных и облачных сценариев (см. официальную документацию).
- Регулярно используйте резервное копирование — как платформы, так и баз данных.