Настройка сервиса Editor
Editor – это компонент seatmap.pro.
Это приложение, построенное на Spring Boot.
Конфигурация Editor состоит из двух файлов:
- application.yaml - общие системные настройки
- application-seatmap.yaml - настройки, специфичные для приложения
application.yaml
Настройки задержки
Задержка перед запуском задач после старта системы.
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| initial | INITIAL_DELAY | Задержка в миллисекундах | 5000 (five seconds) |
Свойства фреймворка Java Spring
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| spring.profiles.include | SPRING_PROFILES_INCLUDE | Добавлять ли свойства из другого профиля | seatmap |
| spring.jpa.generate-ddl | SPRING_JPA_GENERATE_DDL | Включать ли генерацию DDL | truspring.e |
| spring.jpa.properties.hibernate.jdbc.batch_size | SPRING_JPA_PROPERTIES_HIBERNATE_JDBC_BATCH_SIZE | Количество операторов INSERT, UPDATE и DELETE, выполняемых за один вызов базы данных | 50 |
| spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults | SPRING_JPA_PROPERTIES_HIBERNATE_TEMP_USE_JDBC_METADATA_DEFAULTS | Использовать ли метаданные JDBC для определения значений некоторых настроек по умолчанию, когда база данных может быть недоступна | false |
| spring.jpa.properties.hibernate.order_inserts | SPRING_JPA_PROPERTIES_HIBERNATE_ORDER_INSERTS | Упорядочивать ли SQL-вставки по значению первичного ключа вставляемых элементов | false |
| spring.jpa.properties.javax.persistence.schema-generation.create-source | SPRING_JPA_PROPERTIES_JAVAX_PERSISTENCE_SCHEMA_GENERATION_CREATE_SOURCE | Генерировать ли команды DDL для схемы | metadata |
| spring.jpa.properties.javax.persistence.schema-generation.scripts.action | SPRING_JPA_PROPERTIES_JAVAX_PERSISTENCE_SCHEMA_GENERATION_SCRIPTS_ACTION | Создавать или обновлять схему базы данных | update |
| spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target | SPRING_JPA_PROPERTIES_JAVAX_PERSISTENCE_SCHEMA_GENERATION_SCRIPTS_CREATE_TARGET | Имя файла для генерации скрипта | ddl_jpa_creation.sql |
| spring.jpa.hibernate.ddl-auto | SPRING_JPA_HIBERNATE_DDL_AUTO | Как инициализировать базу данных | update |
| spring.jpa.hibernate.use-new-id-generator-mappings | SPRING_JPA_HIBERNATE_USE_NEW_ID_GENERATOR_MAPPINGS | Генерировать ли значения идентификаторов на основе sequence-структуры базы данных | true |
| spring.jpa.database-platform | SPRING_JPA_DATABASE_PLATFORM | Используемая база данных | org.hibernate.dialect.PostgreSQLDialect |
| spring.jpa.open-in-view | SPRING_JPA_OPEN_IN_VIEW | Включать ли OSIV | false |
| spring.jackson.mapper.DEFAULT_VIEW_INCLUSION | SPRING_JACKSON_MAPPER_DEFAULT_VIEW_INCLUSION | Включать ли неаннотированные свойства во все представления | true |
| spring.flyway.baseline-on-migrate | SPRING_FLYWAY_BASELINE_ON_MIGRATE | Автоматически ли вызывать baseline при выполнении migrate для непустой схемы без таблицы истории схемы | ’true' |
| spring.datasource.hikari.data-source-properties.reWriteBatchedInserts | SPRING_DATASOURCE_HIKARI_DATA_SOURCE_PROPERTIES_REWRITEBATCHEDINSERTS | Переписывать ли обычные операторы вставки в многозначные для пакетных вставок | true |
| spring.datasource.hikari.maximum-pool-size | SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE | Максимальный размер пула | 20 |
| spring.datasource.hikari.connection-timeout | SPRING_DATASOURCE_HIKARI_CONNECTION_TIMEOUT | Тайм-аут подключения | 60000 |
| spring.datasource.driver-class-name | SPRING_DATASOURCE_DRIVER_CLASS_NAME | JDBC-драйвер для связи с базой данных | org.postgresql.Driver |
| spring.datasource.password | SPRING_DATASOURCE_PASSWORD | Пароль для подключения к базе данных | ${DB_PASSWORD:postgres} |
| spring.datasource.username | SPRING_DATASOURCE_USERNAME | Имя пользователя для подключения к базе данных | ${DB_USERNAME:seatmap} |
| spring.datasource.url | SPRING_DATASOURCE_URL | Расположение базы данных | ${DB_URL:jdbc:postgresql://localhost:15432/seatmap} |
| spring.servlet.multipart.enabled | SPRING_SERVLET_MULTIPART_ENABLED | Включать ли поддержку multipart-загрузок | true |
| spring.servlet.multipart.max-file-size | SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE | Максимальный допустимый размер загружаемых файлов | 200MB |
| spring.servlet.multipart.max-request-size | SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE | Максимальный допустимый размер запросов multipart/form-data | 215MB |
| spring.servlet.multipart.file-size-threshold | SPRING_SERVLET_MULTIPART_FILE_SIZE_THRESHOLD | Порог размера, после которого файлы будут записаны на диск | 2KB |
| spring.mvc.pathmatch.matching-strategy | SPRING_MVC_PATHMATCH_MATCHING_STRATEGY | Стратегия сопоставления путей запросов с обработчиками контроллеров | ant_path_matcher |
| spring.data.redis.port | SPRING_DATA_REDIS_PORT | Порт сервера Redis | 16379 |
| spring.data.redis.host | SPRING_DATA_REDIS_HOST | Хост сервера Redis | localhost |
Настройки логирования
Настройки логирования, применяемые к классам в пакете pro.seatmap.
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| logging.level.pro.seatmap | LOGGING_LEVEL_PRO_SEATMAP | Уровень логирования | DEBUG |
Настройки сервера
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| server.compression.min-response-size | SERVER_COMPRESSION_MIN_RESPONSE_SIZE | Минимальный размер файлов для сжатия | 1024 |
| server.compression.enabled | SERVER_COMPRESSION_ENABLED | Сжимать ли данные | true |
| server.compression.mime-types | SERVER_COMPRESSION_MIME_TYPES | MIME-типы для сжатия | text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json |
| server.servlet.session.timeout | SERVER_SERVLET_SESSION_TIMEOUT | Время жизни сессии сервлета | 2d |
| server.tomcat.max-http-form-post-size | SERVER_TOMCAT_MAX_HTTP_FORM_POST_SIZE | Максимальный размер POST-запроса | 20MB |
Настройки уведомлений
Путь для уведомлений Image Ready.
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| notify.path | NOTIFY_PATH | Путь уведомления | /topic/venues/ |
application-seatmap.yaml
В файле application-seatmap.yaml вы можете настроить параметры, описанные ниже.
Настройки безопасности
Блок security позволяет задать время жизни refresh- и access-токенов, а также управлять ключами.
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| seatmap.security.token.refresh.expire-duration | SEATMAP_SECURITY_TOKEN_REFRESH_EXPIRE_DURATION | Время жизни refresh-токена. Формат: PTnHnMnS, где n – соответствующие часы, минуты или секунды |
PT2H (two hours) |
| seatmap.security.token.access.expire-length | SEATMAP_SECURITY_TOKEN_ACCESS_EXPIRE_LENGTH | Время жизни access-токена в миллисекундах | 300000 (five minutes) |
| seatmap.security.rsa.private-key | SEATMAP_SECURITY_RSA_PRIVATE_KEY | Расположение приватного ключа | classpath:certs/private-key.pem |
| seatmap.security.rsa.public-key | SEATMAP_SECURITY_RSA_PUBLIC_KEY | Расположение публичного ключа | classpath:certs/public-key.pem |
| seatmap.security.sso.user-default-password | SEATMAP_SECURITY_SSO_USER_DEFAULT_PASSWORD | Пароль пользователя по умолчанию | PASSWORD |
| seatmap.security.sso.external-public-key-url | SEATMAP_SECURITY_SSO_EXTERNAL_PUBLIC_KEY_URL | URL внешнего публичного ключа | https://apigw.piletilevi.test.helmes.ee/auth/public/key/ |
Ключ Google API
API-ключ – это уникальный идентификатор, который аутентифицирует запросы, связанные с вашим проектом, для целей учёта использования и биллинга.
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| google.api.key | GOOGLE_API_KEY | Значение API-ключа | KEY_VALUE |
Настройки первого запуска
Эти настройки применяются при первом запуске системы.
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| seatmap.first-run.organization | SEATMAP_FIRST_RUN_ORGANIZATION | Имя первой созданной организации | seatmap.pro |
| seatmap.first-run.email | SEATMAP_FIRST_RUN_EMAIL | Email суперадмина | admin@seatmap.pro |
| seatmap.first-run.super-admin | SEATMAP_FIRST_RUN_SUPER_ADMIN | Логин суперадмина | super@seatmap.pro |
| seatmap.first-run.password | SEATMAP_FIRST_RUN_PASSWORD | Пароль суперадмина | PASSWORD |
Настройки сброса пароля
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| seatmap.reset.fromMail | SEATMAP_RESET_FROMMAIL | Email-адрес, с которого пользователю отправляется сообщение со ссылкой для сброса пароля | seatmap@seatmap.pro |
| seatmap.reset.token.expire-duration | SEATMAP_RESET_TOKEN_EXPIRE_DURATION | Время жизни ссылки. Формат: PTnHnMnS, где n – соответствующие часы, минуты или секунды |
PT30M (thirty minutes) |
Настройки сервисов
URL-адреса, по которым расположены сервисы.
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| seatmap.services.booking.url | SEATMAP_SERVICES_BOOKING_URL | Адрес сервиса бронирования | https://booking.seatmap.pro/ |
| seatmap.services.metrics.url | SEATMAP_SERVICES_METRICS_URL | Адрес сервиса для отправки сервисных метрик | https://stat.seatmap.pro/editor-metrics |
| seatmap.services.editor.url | SEATMAP_SERVICES_EDITOR_URL | Адрес сервиса редактора | http://localhost:3000/ |
| seatmap.services.preview.url | SEATMAP_SERVICES_PREVIEW_URL | Адрес сервиса предпросмотра | http://localhost:5000/ |
| seatmap.services.preview.path | SEATMAP_SERVICES_PREVIEW_PATH | Путь для сервиса предпросмотра | wconvert_pdf/ |
Настройки почты
Параметры почтового сервиса для восстановления паролей.
| Parameter | Environment variable | Описание | Default value |
|---|---|---|---|
| seatmap.mail.username | SEATMAP_MAIL_USERNAME | Имя пользователя | ${SEATMAP_MAIL_USERNAME:admin@seatmap.pro} |
| seatmap.mail.password | SEATMAP_MAIL_PASSWORD | Пароль | ${SEATMAP_MAIL_PASSWORD:lir nyk blq hhu} |
| seatmap.mail.host | SEATMAP_MAIL_HOST | Хост | smtp.gmail.com |
| seatmap.mail.port | SEATMAP_MAIL_PORT | Порт | 587 |
| seatmap.mail.socket.port | SEATMAP_MAIL_SOCKET_PORT | Порт сокета | 465 |