Как запустить Mayan EDMS в контейнерах Docker |
Здравствуйте и спасибо, что посетили наш сайт. В сегодняшней статье мы рассмотрим установку, настройку и запуск Mayan EDMS в Docker-контейнерах. Mayan EDMS и открытый исходный код, а также бесплатная система управления электронными документами, написанная на языке Python с использованием платформы веб-приложений Django. Программное обеспечение распространяется под лицензией Apache 2.0. Целью Mayan является предоставление хранилища или электронного хранилища для всех ваших электронных документов. Использование образа Docker — это самый простой способ использовать Mayan EDMS.
Список функций, поставляемых с Mayan EDMS, можно найти в официальной документации по функциям.
1) Требования к установке
Для всех методов развертывания Mayan EDMS имеет следующий рекомендуемый набор требований:
- Минимальный объем оперативной памяти: 4 ГБ.
- 64-битный, 4 ядра или более, 2 ГГц или выше или аналогичный ЦП.
- Система базы данных PostgreSQL 13 или более поздней версии
- Дистрибутивы GNU/Linux или платформа операционных систем с поддержкой Docker и Docker Compose.
- Доступ к системе от имени пользователя с правами администратора.
2) Установите Docker Engine.
Прежде чем пытаться установить Mayan EDMS, убедитесь, что Docker установлен правильно и работает в вашей хост-системе. Обратитесь к нашей статье об установке Docker:
- Как установить Docker CE в системах Linux
После установки Docker мы можем убедиться, что он работает, проверив версии Engine и Compose.
$ docker --version
Docker version 24.0.5, build ced0996
$ docker compose version
Docker Compose version v2.20.23) Клонировать код СЭД Mayan
Файлы Mayan EDMS расположены по адресу: https://gitlab.com/mayan-ed.ms/mayan-edms/-/tree/master/docker/. Мы можем скачать его локально.
git clone https://gitlab.com/mayan-edms/mayan-edms.gitПодкаталог docker содержит файл компоновки.
Перейдите в каталог докеров.
cd mayan-edms/docker/4) Создание настроек Mayan EDMS
Вы можете добавить запись для каждой из переменных среды, которые нужно изменить, внутри файла .env.
vim .envВ нашем примере мы обновили указанные ниже переменные.
MAYAN_DATABASE_NAME=edms
MAYAN_DATABASE_PASSWORD=StrongDBPassword
MAYAN_DATABASE_USER=edms
MAYAN_ELASTICSEARCH_PASSWORD=StrongELPassword
MAYAN_RABBITMQ_USER=edms
MAYAN_RABBITMQ_PASSWORD=StrongMQPassword
MAYAN_RABBITMQ_VHOST=/edms
MAYAN_REDIS_PASSWORD=StrongRedisPasswordИмя проекта создания по умолчанию называется mayan и может быть обновлено.
COMPOSE_PROJECT_NAME=mayanЧтобы подтвердить изменения конфигурации, выполните:
docker compose --file docker-compose.yml --project-name mayan config5) Запустите Docker-контейнеры Mayan EDMS.
После завершения настроек запустите все контейнеры Mayan EDMS.
$ docker compose up -d
[+] Running 4/0
✔ Container mayan-redis-1 Running 0.0s
✔ Container mayan-rabbitmq-1 Running 0.0s
✔ Container mayan-app-1 Running 0.0s
✔ Container mayan-postgresql-1 RunningЧтобы проверить статус запуска контейнера:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
86f2e85204ea rabbitmq:3.11.13-management-alpine "docker-entrypoint.s…" 12 hours ago Up 12 hours 4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 15691-15692/tcp, 25672/tcp mayan-rabbitmq-1
b78c36da3752 redis:7.0.10-alpine "docker-entrypoint.s…" 12 hours ago Up 12 hours 6379/tcp mayan-redis-1
c9e19096b579 postgres:13.10-alpine "docker-entrypoint.s…" 12 hours ago Up 12 hours 5432/tcp mayan-postgresql-1
cdf73c48b96e mayanedms/mayanedms:s4.4 "/usr/local/bin/entr…" 12 hours ago Up 12 hours 0.0.0.0:80->8000/tcp, :::80->8000/tcp mayan-app-1
Или используйте
docker compose psЛистинг созданных томов.
$ docker volume ls
DRIVER VOLUME NAME
local mayan_app
local mayan_postgres
local mayan_rabbitmq
local mayan_redisСоздана сеть для Mayan EDMS.
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
25cf8cc0d317 bridge bridge local
bcb34458e540 host host local
46bc54f81680 mayan_mayan bridge local
1f8a758c9005 none null localДля просмотра журналов контейнера используйте:
docker compose logsВы можете получить доступ к веб-интерфейсу Mayan EDMS по адресу http://serverip_or_fqdn.
6) Настройка Nginx в качестве прокси
Поддерживается Traefik. Прокси-сервер изначально поддерживается в Mayan EDMS и может быть включен в конфигурациях .env. Для простоты администрирования мы используем прокси-сервер Nginx.
Начнём с установки nginx
### Debian based systems ###
sudo apt install nginx
### RHEL based systems ###
sudo yum install nginxИзмените порт прослушивания Mayan EDMS с 80 на 8080.
$ vim .env
MAYAN_FRONTEND_HTTP_PORT=8080Перезапустите контейнеры Mayan.
docker compose down && docker compose up -dУбедитесь, что контейнер Mayan Frontend прослушивает порт 8080 на хосте.
$ docker ps|grep mayan-app-1
958df04e8459 mayanedms/mayanedms:s4.4 "/usr/local/bin/entr…" 17 seconds ago Up 16 seconds 0.0.0.0:8080->8000/tcp, :::8080->8000/tcp
Теперь создайте файл конфигурации mayan.conf nginx:
sudo vim /etc/nginx/conf.d/mayan.confЕсли не используется SSL, можно использовать приведенные ниже конфигурации.
server {
listen 80 ;
server_name edms.example.net ;
location / {
proxy_pass http://127.0.0.1:7880;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-Host $host;
}
}Использование Let’s Encrypt/любого другого SSL
Ваш файл конфигурации Nginx будет выглядеть следующим образом:
server {
listen 80 ;
server_name edms.example.net ;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2 ;
server_name edms.example.net ;
access_log /var/log/nginx/mayan.log;
error_log /var/log/nginx/mayan_error.log;
client_max_body_size 50M; # Increase to upload bigger documents
ssl_certificate /etc/letsencrypt/live/edms.example.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/edms.example.net/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/edms.example.net/fullchain.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_read_timeout 60s; # Increase if your doc uploads take more than 60 sec
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Set-Cookie;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header X-Forwarded-Proto https;
}
}Чтобы создать Let’s Encrypt SSL, ознакомьтесь с нашими руководствами ниже:
- Создайте SSL-сертификат Let’s Encrypt с помощью Cloudflare в частной сети
- Как создать SSL-сертификаты Let's Encrypt в Linux
- Как создать SSL-сертификат Let’s Encrypt Wildcard
- Использование SSL-сертификата Let’s Encrypt Wildcard с Nginx и Apache
7) Доступ к Mayan EDMS через веб-консоль
Безопасный доступ к СЭД Mayan по адресу https://YOUR_FQDN. На первой странице вы предоставили первоначальные данные для входа.
Используйте предоставленные имя пользователя и пароль для входа в систему.
Чтобы изменить пароль администратора, выберите Пользователь > admin > Изменить пароль в правом верхнем углу.
Укажите пароль по умолчанию и установите новый пароль для пользователя.
Теперь у вас есть Mayan EDMS, успешно установленный в Docker-контейнере. Посетите страницы документации Mayan, чтобы узнать больше о том, как настроить и начать использовать его в своей среде.
Похожие статьи:
- Установите систему управления документами Docspell (DMS) в Docker.




