Стандартная установка

Linux

9min

Основные требования

  • Установленный Docker и Docker Compose плагин
  • Запуск пользователем состоящим в группе docker
  • Поддержка процессором AVX архитектуры

Основные скрипты

Скрипты администрирования

Общее описание

Преимущества

Docker-образы устроены таким способом, что все важные данные вынесены в директории, которые являются общими с хостовой машиной, поэтому вы можете останавливать, удалять и создавать новые контейнеры.

Конфигурационные файлы также хранятся в монтируемых директориях, поэтому вы можете произвести большинство изменений конфигурации компонентов без внесения изменений непосредственно в Docker-образы или контейнеры. Для этого внесите изменения в файл конфигурации необходимого компонента и перезапустите контейнер.

Состав

Сборка состоит из 6 контейнеров. Часть контейнеров запускается обязательно, а другая часть может быть включена или отключена с помощью изменения переменной окружения COMPOSE_PROFILES в файле переменных окружения .env:

Nginx — образ на основе официального образа Nginx. Запускается по умолчанию.

PHP — образ с PHP и PHP-FPM на основе Ubuntu. Запускается по умолчанию.

Cron — отдельный контейнер на основе PHP образа для запуска задач по расписанию. Запускается по умолчанию.

PSMDB — образ на основе официального образа Percona Server for MongoDB. Запуск можно отключить, если используется внешняя MongoDB\PSMDB.

Postfix — образ с Postfix на основе Ubuntu. Можно отключить, если уведомления отправляются через PHPMailer.

Certbot — официальный образ Certbot от Let’s Encrypt. Необходим, если используется сертификат от Let’s Encrypt. Можно отключить, если вы используете другие сертификаты SSL.

Сервисные скрипты и операции с docker-compose

Скрипты

update.sh — выполняет обновления кода приложения до последней версии, доступной в вашей лицензии.

db-backup.sh — выполняет создание резервной копии всех баз в папку backup.

db-restore.sh — выполняет восстановление резервной копии. Если не передано имя резервной копии, то будет выведен список доступных копий из папки backup.

collect-log.sh — выполняет сбор логов компонентов.

collect-conf.sh — выполняет сбор файлов конфигурации компонентов.

Операции

docker compose stop — остановить сервис.

docker compose restart — перезапустить сервис.

docker compose start — запустить остановленный сервис.

docker compose down — удалить сервис. Данные, включая БД и файлы конфигурации, сохранятся.

Параметры и настройка

Описание

Большая часть настроек может быть произведена через переменные окружения в .env или изменения файла конфигурации отдельного компонента:

Переменная

Описание

По умолчанию

CERT

Номер сертификата Пассворк. Используется в скрипте обновления для получения файлов приложения с Портала Клиента

XXX-XXX-XXX-XXX-XXXXXXXXXXXX

USE_LETSENCRYPT

Использовать certbot для выпуска SSL сертификатов или нет

false

LETSENCRYPT_STAGING

Тестовый режим для certbot. Полезно при отладке, так как Let’s Encrypt имеет лимит на количество запросов. По умолчанию true, чтобы избежать ошибок из-за неправильно настроенной DNS-записи или других. Рекомендуется сначала использовать staging.

true

LETSENCRYPT_REG_EMAIL

Email для Let’s encrypt



DOMAIN

Домен для Let’s encrypt



ALIAS_CONTAINERS_NAME

Префикс имен контейнеров

"passwork_"

COMPOSE_PROFILES

Профили Compose, позволяющий включить\отключить запуск сервисов

"local_notify,mongo"

PHP_CONF_DIR

Директория с конфигами PHP

./conf/php

PHP_LOG_DIR

Директория с логами PHP

./log/php

APP_DIR

Директория с кодом сервера Пассворк

./www/latest (симлинк на последнюю скачанную версию)

APP_LOG_DIR

Директория с логами приложения

./log/app

KEYS_DIR

Директория с ключами лицензии, а также основным файлом конфигурации приложения

./conf/keys

NGINX_CONF_DIR

Директория с конфигами Nginx

./conf/nginx

NGINX_LOG_DIR

Директория с логами Nginx

./log/nginx

SSL_DIR

Директория с SSL сертификатами

./conf/ssl

MONGO_DATA_DIR

Директория с данными mongo

./data/mongo

CUSTOM_CA_DIR

Директория для дополнительных корневых сертификатов (например, для LDAPS)

./conf/custom_ca

POSTFIX_LOG_DIR

Директория с логами Postfix

./log/postfix

POSTFIX_CONF_DIR

Директория с конфигами Postfix

./conf/postfix

Применение настроек

После внесения изменения в .env или файл конфигурации отдельного компонента необходимо выполнить перезапуск соответствующего контейнера

Shell


Для вступления в силу изменений в config.ini выполните

Shell