Шаг 1: Убедитесь, что смонтированы все внешние папки для хранения данных
С помощью следующей команды убедитесь, что смонтированы все тома данных контейнера, используемые для хранения данных ONLYOFFICE Mail:
sudo docker inspect --format='{{range $p,$conf:=.HostConfig.Binds}}{{$conf}};{{end}}' {{MAIL_SERVER_ID}}
где {{MAIL_SERVER_ID}} означает имя или ID контейнера ONLYOFFICE Mail.
Имя или ID текущего контейнера
ONLYOFFICE Mail можно легко узнать с помощью команды Docker, которая выводит список всех существующих контейнеров:
docker ps -a
В качестве меры предосторожности можно выполнить резервное копирование смонтированных папок, расположенных на хост-машине:
/app/onlyoffice/MailServer/logs
/app/onlyoffice/MailServer/mysql
/app/onlyoffice/MailServer/data
/app/onlyoffice/MailServer/data/certs
Если вы не монтировали папки при установке ONLYOFFICE Mail, надо выполнить резервное копирование следующих папок внутри Docker-контейнера:
/var/log
- лог-файлы ONLYOFFICE Mail
/var/lib/mysql
- данные из базы данных MySQL
/var/vmail
- хранилище почты
/etc/pki/tls/mailserver
- сертификаты
Эти папки с данными можно скопировать из Docker-контейнера в папку на хост-машине:
sudo docker cp {{MAIL_SERVER_ID}}:var/log /home/user/Backup/MailServer/log
sudo docker cp {{MAIL_SERVER_ID}}:var/lib/mysql /home/user/Backup/MailServer/mysql
sudo docker cp {{MAIL_SERVER_ID}}:var/vmail /home/user/Backup/MailServer/vmail
sudo docker cp {{MAIL_SERVER_ID}}:etc/pki/tls/mailserver /home/user/Backup/MailServer/mailserver
Где {{MAIL_SERVER_ID}} означает имя или ID контейнера ONLYOFFICE Mail, а /home/user/Backup/MailServer - путь к любой папке на хост-машине.
Шаг 2: Удалите текущий контейнер
sudo docker rm -f {{MAIL_SERVER_ID}}
где {{MAIL_SERVER_ID}} означает имя или ID контейнера ONLYOFFICE Mail.
Шаг 3: Удалите текущий образ
Образ, который использовался для установки ONLYOFFICE Mail, также необходимо удалить, иначе он будет использоваться и для последующей установки, и обновления не произойдет:
sudo docker rmi -f $(sudo docker images | grep onlyoffice/mailserver | awk '{ print $3 }')
Шаг 4: Запустите новый образ ONLYOFFICE Mail с такими же путями привязки
Создайте сеть для Docker-контейнеров, если она не была создана для предыдущей версии:
docker network create --driver bridge onlyoffice
Запустите новый образ ONLYOFFICE Mail:
sudo docker run --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server \
-p 25:25 -p 143:143 -p 587:587 \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
-v /app/onlyoffice/MailServer/logs:/var/log \
-v /app/onlyoffice/MailServer/mysql:/var/lib/mysql \
-h yourdomain.com \
onlyoffice/mailserver
Где yourdomain.com
- это имя хоста ONLYOFFICE Mail.
Домен, который будет использоваться для ведения переписки, должен быть действительным, и он должен быть настроен на эту машину (то есть должен иметь соответствующую A-запись в настройках DNS, связывающую доменное имя с IP-адресом машины, на которой установлен ONLYOFFICE Mail).
В приведенной выше команде под параметром "yourdomain.com"
следует понимать служебный домен почтового сервера. Обычно его указывают в MX-записи домена, который будет использоваться для ведения переписки. Как правило, "yourdomain.com"
имеет вид mx1.onlyoffice.com
Убедитесь, что запускаете новый образ, указав пути к папкам, привязанным точно так же, как они были смонтированы до удаления образа ONLYOFFICE Mail, в противном случае данные, сохраненные в этих папках, не будут получены автоматически.
Если вы не монтировали папки при установке предыдущей версии, потребуется восстановить данные вручную перед установкой новой версии ONLYOFFICE Mail. Для этого можно скопировать резервную копию данных из папок на хост-машине в новые папки на хосте, которые будут монтироваться при последующей установке:
sudo mkdir -p /app/onlyoffice/MailServer/logs && sudo cp -a /home/user/Backup/MailServer/log/. $_
sudo mkdir -p /app/onlyoffice/MailServer/mysql && sudo cp -a /home/user/Backup/MailServer/mysql/. $_
sudo mkdir -p /app/onlyoffice/MailServer/data && sudo cp -a /home/user/Backup/MailServer/vmail/. $_
sudo mkdir -p /app/onlyoffice/MailServer/data/certs && sudo cp -a /home/user/Backup/MailServer/mailserver/. $_
Где /home/user/Backup/MailServer - это путь к любой папке на хост-машине. Когда резервная копия будет восстановлена, установите ONLYOFFICE Mail, как описано выше.
Шаг 5: Запустите новые образы ONLYOFFICE Docs и ONLYOFFICE Community Server с такими же путями привязки
Запустите новый контейнер ONLYOFFICE Docs, а затем контейнер ONLYOFFICE Community Server, связав их, как описано здесь. При запуске контейнеров также необходимо монтировать папки с данными точно так же, как они были смонтированы в предыдущей версии.
Запустите портал и убедитесь в его корректной работе и целостности данных.