Перейти к основному содержимому

Конфигурация

Semaphore можно настроить несколькими способами:

Параметры конфигурации

Полный список доступных параметров конфигурации:

Параметр файла конфигурации / Переменная окруженияОписание
Общие

git_client
SEMAPHORE_GIT_CLIENT

Тип Git-клиента. Может быть cmd_git (по умолчанию) или go_git.

git_attempts
SEMAPHORE_GIT_ATTEMPTS

Сколько раз выполняется попытка git clone или pull, прежде чем задача завершится с ошибкой. Между попытками используется экспоненциальная задержка (1 с, затем 2 с, 4 с, … до 60 с). По умолчанию: 4. Установите 1, чтобы отключить повторные попытки.

ssh_config_path
SEMAPHORE_SSH_PATH

Путь к пользовательскому файлу конфигурации SSH. По умолчанию: ~/.ssh/config.

port
SEMAPHORE_PORT

TCP-порт, на котором будет доступен веб-интерфейс. По умолчанию: :3000

interface
SEMAPHORE_INTERFACE

Адрес привязки (пусто = все интерфейсы). Полезно, если у вашего сервера несколько сетевых интерфейсов.

tmp_path
SEMAPHORE_TMP_PATH

Путь к каталогу, в котором хранятся клонированные репозитории и сгенерированные файлы. По умолчанию: /tmp/semaphore

dirs.secrets
SEMAPHORE_SECRETS_PATH

Путь к каталогу, в котором хранятся секреты (например, файлы token'ов Vault). По умолчанию: /tmp/semaphore. Устаревший параметр верхнего уровня secrets_path по-прежнему принимается, если dirs.secrets не задан или оставлен со значением по умолчанию.

dirs.repos
SEMAPHORE_REPOS_DIR

Путь к каталогу, в котором хранятся репозитории.

dirs.ssh_agent_sockets
SEMAPHORE_SSH_AGENT_SOCKETS_DIR

Путь к каталогу, в котором хранятся сокеты SSH-агента. По умолчанию: /tmp/semaphore

home_dir_mode
SEMAPHORE_HOME_DIR_MODE

Определяет, как устанавливается переменная окружения HOME для задач. Варианты: template_dir (по умолчанию), project_home, user_home.

max_parallel_tasks
SEMAPHORE_MAX_PARALLEL_TASKS

Максимальное число параллельных задач, которые могут выполняться на сервере. По умолчанию: 9999

max_task_duration_sec
SEMAPHORE_MAX_TASK_DURATION_SEC

Максимальная длительность задачи в секундах.

max_tasks_per_template
SEMAPHORE_MAX_TASKS_PER_TEMPLATE

Максимальное число последних задач, хранящихся в базе данных для каждого шаблона.

schedule.timezone
SEMAPHORE_SCHEDULE_TIMEZONE

Часовой пояс, используемый для планирования задач и cron-заданий. По умолчанию: UTC

oidc_providers Static Badge
SEMAPHORE_OIDC_PROVIDERS

Настройки провайдеров OpenID. Можно указать несколько провайдеров OpenID. Подробнее о настройке OpenID читайте в разделе OpenID.

password_login_disable
SEMAPHORE_PASSWORD_LOGIN_DISABLED

Static Badge

Запретить вход по паролю.

non_admin_can_create_project
SEMAPHORE_NON_ADMIN_CAN_CREATE_PROJECT

Разрешить пользователям без прав администратора создавать проекты.

env_vars
SEMAPHORE_ENV_VARS

JSON-словарь с переменными окружения, доступными при выполнении задач.

forwarded_env_vars
SEMAPHORE_FORWARDED_ENV_VARS

JSON-массив переменных окружения хоста, которые будут переданы в выполняемые задачи.

apps
SEMAPHORE_APPS

JSON-словарь с конфигурацией приложений.

use_remote_runner
SEMAPHORE_USE_REMOTE_RUNNER

Включите, чтобы использовать удалённый runner.

runner_registration_token
SEMAPHORE_RUNNER_REGISTRATION_TOKEN

Начальный token, используемый runner'ами для регистрации на сервере.
Подписка

subscription.key
SEMAPHORE_SUBSCRIPTION_KEY

Ключ или token подписки. Если задан, активация через веб-интерфейс отключается.

subscription.key_file
SEMAPHORE_SUBSCRIPTION_KEY_FILE

Путь к файлу с ключом или token'ом подписки.

subscription.server_url
SEMAPHORE_SUBSCRIPTION_SERVER_URL

URL сервера подписки / биллинга. По умолчанию: https://portal.semaphoreui.com/billing
JWT

jwt.enabled
SEMAPHORE_JWT_ENABLED

Если включено, Semaphore выпускает короткоживущий JWT для каждого запуска задачи и публикует его открытый ключ по адресу /.well-known/jwks.json.

jwt.issuer
SEMAPHORE_JWT_ISSUER

Значение, записываемое в claim iss выпускаемых JWT.

jwt.default_ttl
SEMAPHORE_JWT_DEFAULT_TTL

Время жизни выпускаемого JWT задачи по умолчанию в формате Go duration (например, 30m, 1h). По умолчанию: 1h

jwt.max_ttl
SEMAPHORE_JWT_MAX_TTL

Жёсткая верхняя граница TTL JWT для каждого шаблона в формате Go duration. По умолчанию: 24h
Runner

runner.registration_token_file
SEMAPHORE_RUNNER_REGISTRATION_TOKEN_FILE

Путь к файлу, содержащему token регистрации runner'а.

runner.token
SEMAPHORE_RUNNER_TOKEN

Token аутентификации runner'а. Взаимоисключающий с runner.token_file.

runner.token_file
SEMAPHORE_RUNNER_TOKEN_FILE

Путь к файлу с token'ом для регистрации runner'а.

runner.private_key_file
SEMAPHORE_RUNNER_PRIVATE_KEY_FILE

Путь к файлу закрытого ключа runner'а.

runner.one_off
SEMAPHORE_RUNNER_ONE_OFF

Runner обрабатывает одно задание и завершает работу. Полезно для динамических runner'ов.

runner.enabled
SEMAPHORE_RUNNER_ENABLED

Включить runner.

runner.webhook
SEMAPHORE_RUNNER_WEBHOOK

URL webhook'а для runner'а.

runner.name
SEMAPHORE_RUNNER_NAME

Имя runner'а.

runner.tags
SEMAPHORE_RUNNER_TAGS

JSON-массив тегов runner'а.

runner.max_parallel_tasks
SEMAPHORE_RUNNER_MAX_PARALLEL_TASKS

Максимальное число параллельных задач для runner'а. По умолчанию: 9999.

runner.check_interval_seconds
SEMAPHORE_RUNNER_CHECK_INTERVAL_SECONDS

Как часто runner опрашивает сервер на наличие новых заданий и сообщает о прогрессе, в секундах. По умолчанию: 1. Большие значения снижают количество запросов ценой немного более медленного получения заданий.

runner.project_id
SEMAPHORE_RUNNER_PROJECT_ID

Ограничить runner одним проектом.

runner.connection.server_ca_cert_file
SEMAPHORE_RUNNER_SERVER_CA_CERT_FILE

PEM-бандл, используемый для проверки сертификата сервера Semaphore в дополнение к системному хранилищу доверенных сертификатов. Задайте, если сервер использует самоподписанный сертификат или сертификат внутреннего ЦС.

runner.connection.skip_tls_verify
SEMAPHORE_RUNNER_SKIP_TLS_VERIFY

Полностью отключить проверку сертификата сервера. Небезопасно (уязвимо к MITM) — используйте только для тестирования.

runner.executor
SEMAPHORE_RUNNER_EXECUTOR

JSON-объект с полной конфигурацией исполнителя runner'а (type плюс вложенные настройки docker или k8s). Используйте, если хотите задать весь блок исполнителя одной переменной окружения.

runner.executor.type


Стратегия, которую runner использует для выполнения каждой задачи: local (по умолчанию), k8s или docker.

runner.executor.k8s.kubeconfig
SEMAPHORE_RUNNER_K8S_KUBECONFIG

Путь к файлу kubeconfig. Пусто = конфигурация внутри кластера.

runner.executor.k8s.namespace
SEMAPHORE_RUNNER_K8S_NAMESPACE

Namespace, в котором создаются временные Pod'ы задач. По умолчанию: semaphore

runner.executor.k8s.image
SEMAPHORE_RUNNER_K8S_IMAGE

Образ контейнера сборки по умолчанию. По умолчанию: semaphoreui/job:latest

runner.executor.k8s.helper_image
SEMAPHORE_RUNNER_K8S_HELPER_IMAGE

Образ, используемый для init-контейнера git-clone. По умолчанию: semaphoreui/helper:latest

runner.executor.k8s.service_account
SEMAPHORE_RUNNER_K8S_SERVICE_ACCOUNT

Service account, от имени которого запускаются Pod'ы задач. По умолчанию: default

runner.executor.k8s.pull_secrets
SEMAPHORE_RUNNER_K8S_PULL_SECRETS

Список imagePullSecrets через запятую, прикрепляемых к каждому Pod'у.

runner.executor.k8s.poll_interval_seconds
SEMAPHORE_RUNNER_K8S_POLL_INTERVAL_SECONDS

Как часто исполнитель опрашивает статус Pod'а, в секундах. По умолчанию: 3

runner.executor.k8s.cleanup_grace_seconds
SEMAPHORE_RUNNER_K8S_CLEANUP_GRACE_SECONDS

Льготный период при удалении Pod'ов, в секундах. По умолчанию: 30

runner.executor.docker.host
SEMAPHORE_RUNNER_DOCKER_HOST

URL демона Docker (unix://, tcp:// или npipe://). Пусто = стандартное окружение (DOCKER_HOST) и сокет по умолчанию для платформы.

runner.executor.docker.tls_verify
SEMAPHORE_RUNNER_DOCKER_TLS_VERIFY

Включить проверку TLS-сертификата для соединений tcp://.

runner.executor.docker.cert_path
SEMAPHORE_RUNNER_DOCKER_CERT_PATH

Каталог, содержащий ca.pem, cert.pem и key.pem для взаимной TLS-аутентификации.

runner.executor.docker.image
SEMAPHORE_RUNNER_DOCKER_IMAGE

Образ контейнера сборки по умолчанию. По умолчанию: semaphoreui/job:latest

runner.executor.docker.helper_image
SEMAPHORE_RUNNER_DOCKER_HELPER_IMAGE

Образ, используемый для временного контейнера git-clone. По умолчанию: semaphoreui/helper:latest

runner.executor.docker.network
SEMAPHORE_RUNNER_DOCKER_NETWORK

Сеть Docker, к которой подключается контейнер сборки. По умолчанию: bridge

runner.executor.docker.pull_policy
SEMAPHORE_RUNNER_DOCKER_PULL_POLICY

Политика загрузки образов: always, if-not-present (по умолчанию) или never.

runner.executor.docker.cpu_limit
SEMAPHORE_RUNNER_DOCKER_CPU_LIMIT

Если > 0, ограничивает CPU контейнера сборки (передаётся как --cpus).

runner.executor.docker.memory_limit
SEMAPHORE_RUNNER_DOCKER_MEMORY_LIMIT

Если не пусто, ограничивает память контейнера сборки (например, 2g).

runner.executor.docker.poll_interval_seconds
SEMAPHORE_RUNNER_DOCKER_POLL_INTERVAL_SECONDS

Как часто опрашивается статус контейнера, в секундах. По умолчанию: 2

runner.executor.docker.cleanup_grace_seconds
SEMAPHORE_RUNNER_DOCKER_CLEANUP_GRACE_SECONDS

Тайм-аут, передаваемый в docker stop, в секундах. По умолчанию: 30

runner.executor.docker.privileged
SEMAPHORE_RUNNER_DOCKER_PRIVILEGED

Запускать контейнер сборки с флагом --privileged. Опасно; по умолчанию выключено.
Runner'ы (парк на стороне сервера)

runners.offline_timeout_sec
SEMAPHORE_RUNNERS_OFFLINE_TIMEOUT_SEC

Давность heartbeat (в секундах), после которой runner считается недоступным. Его задачи в состоянии «starting» переназначаются. По умолчанию: 120

runners.task_fail_timeout_sec
SEMAPHORE_RUNNERS_TASK_FAIL_TIMEOUT_SEC

Давность heartbeat (в секундах), после которой задачи runner'а в состоянии «running» помечаются как завершившиеся с ошибкой. Значения меньше offline_timeout_sec приводятся к нему. По умолчанию: 420

runners.reconcile_interval_sec
SEMAPHORE_RUNNERS_RECONCILE_INTERVAL_SEC

Как часто (в секундах) отправленные задачи сверяются с доступностью runner'ов. По умолчанию: 30
Команды

teams.invites_enabled
SEMAPHORE_TEAMS_INVITES_ENABLED

Разрешить пользователям приглашать участников в команды.

teams.invite_type
SEMAPHORE_TEAMS_INVITE_TYPE

Тип приглашения: username (по умолчанию), email, both.

teams.members_can_leave
SEMAPHORE_TEAMS_MEMBERS_CAN_LEAVE

Разрешить участникам покидать команды.
База данных

sqlite.host
SEMAPHORE_DB_HOST

Путь к файлу базы данных SQLite.

mysql.host
SEMAPHORE_DB_HOST

Хост базы данных MySQL.

mysql.name
SEMAPHORE_DB_NAME

Имя базы данных (схемы) MySQL.

mysql.user
SEMAPHORE_DB_USER

Имя пользователя MySQL.

mysql.pass
SEMAPHORE_DB_PASS

Пароль пользователя MySQL.

postgres.host
SEMAPHORE_DB_HOST

Хост базы данных Postgres.

postgres.name
SEMAPHORE_DB_NAME

Имя базы данных (схемы) Postgres.

postgres.user
SEMAPHORE_DB_USER

Имя пользователя Postgres.

postgres.pass
SEMAPHORE_DB_PASS

Пароль пользователя Postgres.

dialect
SEMAPHORE_DB_DIALECT

Может быть sqlite (по умолчанию), postgres или mysql.

*.options
SEMAPHORE_DB_OPTIONS

JSON-словарь с параметрами подключения к базе данных.
Безопасность

access_key_encryption
SEMAPHORE_ACCESS_KEY_ENCRYPTION

Ключ в кодировке Base64, используемый для шифрования ключей доступа, хранящихся в базе данных. Подробнее в разделе Шифрование базы данных.

option_encryption
SEMAPHORE_OPTION_ENCRYPTION

Ключ в кодировке Base64, используемый для шифрования параметров БД (ключа подписи JWT) по старой схеме с одним ключом (без ротации). Если не задан, используется ключ доступа.

cookie_hash
SEMAPHORE_COOKIE_HASH

HMAC-ключ в кодировке Base64, используемый для подписи cookie.

cookie_encryption
SEMAPHORE_COOKIE_ENCRYPTION

Ключ в кодировке Base64, используемый для шифрования cookie.

web_host
SEMAPHORE_WEB_ROOT

Может пригодиться, если вы хотите использовать Semaphore по подпути, например: http://yourdomain.com/semaphore. Не добавляйте / в конце.

tls.enabled
SEMAPHORE_TLS_ENABLED

Включить или отключить TLS (HTTPS) для защищённого соединения с сервером Semaphore.

tls.cert_file
SEMAPHORE_TLS_CERT_FILE

Путь к файлу TLS-сертификата.

tls.key_file
SEMAPHORE_TLS_KEY_FILE

Путь к файлу TLS-ключа.

tls.http_redirect_addr
SEMAPHORE_TLS_HTTP_REDIRECT_ADDR

Адрес (host[:port]) слушателя перенаправления HTTP→HTTPS. Взаимоисключающий с tls.http_redirect_port.

tls.http_redirect_port
SEMAPHORE_TLS_HTTP_REDIRECT_PORT

Порт для перенаправления HTTP-трафика на HTTPS. Взаимоисключающий с tls.http_redirect_addr.

mfa.totp.enabled
SEMAPHORE_TOTP_ENABLED

Включить двухфакторную аутентификацию с помощью TOTP.

mfa.totp.app_name Static Badge
SEMAPHORE_TOTP_ISSUER Static Badge

Метка издателя (название Semaphore), отображаемая в приложениях-аутентификаторах TOTP.

mfa.totp.allow_recovery
SEMAPHORE_TOTP_ALLOW_RECOVERY

Разрешить пользователям сбрасывать TOTP с помощью кода восстановления.

mfa.email.enabled
SEMAPHORE_EMAIL_2TP_ENABLED

Включить многофакторную аутентификацию по электронной почте.

mfa.email.allow_login_as_external_user
SEMAPHORE_EMAIL_2TP_ALLOW_LOGIN_AS_EXTERNAL_USER

Разрешить вход в качестве внешнего пользователя (только по email).

mfa.email.allow_create_external_user
SEMAPHORE_EMAIL_2TP_ALLOW_CREATE_EXTERNAL_USER

Разрешить создание внешних пользователей при первом входе.

mfa.email.allowed_domains
SEMAPHORE_EMAIL_2TP_ALLOWED_DOMAINS

JSON-массив разрешённых доменов электронной почты.

mfa.email.disable_for_oidc
SEMAPHORE_EMAIL_2TP_DISABLE_FOR_OIDC

Отключить MFA по электронной почте для пользователей, аутентифицированных через OIDC.
Шифрование

encryption.keys_file
SEMAPHORE_ENCRYPTION_KEYS_FILE

Путь к отдельному файлу с наборами ключей шифрования (YAML или JSON). Отслеживается на изменения — правки применяются без перезапуска сервера. Если не задан, используется устаревшее поле access_key_encryption.

encryption.keys_poll_interval
SEMAPHORE_ENCRYPTION_KEYS_POLL_INTERVAL

Как часто keys_file проверяется на изменения (Go duration, например 15s). 0 отключает опрос (SIGHUP по-прежнему принудительно перезагружает файл). По умолчанию: 15s
Процесс

process.user
SEMAPHORE_PROCESS_USER

Пользователь, от имени которого будут запускаться оборачиваемые процессы (такие как Ansible, Terraform или OpenTofu).

process.uid
SEMAPHORE_PROCESS_UID

ID пользователя, от имени которого будут запускаться оборачиваемые процессы (такие как Ansible, Terraform или OpenTofu).

process.gid
SEMAPHORE_PROCESS_GID

ID группы, от имени которой будут запускаться оборачиваемые процессы (такие как Ansible, Terraform или OpenTofu).

process.chroot
SEMAPHORE_PROCESS_CHROOT

Каталог chroot для оборачиваемых процессов.

process.no_new_privs
SEMAPHORE_PROCESS_NO_NEW_PRIVS

Установить флаг no_new_privs, чтобы оборачиваемые процессы не могли получать новые привилегии.

process.app_namespaces.user
SEMAPHORE_PROCESS_APP_NS_USER

Изолировать UID/GID (CLONE_NEWUSER) для запусков приложений. Только Linux.

process.app_namespaces.mount
SEMAPHORE_PROCESS_APP_NS_MOUNT

Скрывать точки монтирования хоста, такие как tmpfs с секретами (CLONE_NEWNS), для запусков приложений. Только Linux.

process.app_namespaces.pid
SEMAPHORE_PROCESS_APP_NS_PID

Скрывать процессы хоста от запусков приложений (CLONE_NEWPID). Только Linux.

process.app_namespaces.ipc
SEMAPHORE_PROCESS_APP_NS_IPC

Изолировать SysV IPC и очереди сообщений POSIX (CLONE_NEWIPC) для запусков приложений. Только Linux.

process.app_namespaces.uts
SEMAPHORE_PROCESS_APP_NS_UTS

Изолировать имя хоста и домен (CLONE_NEWUTS) для запусков приложений. Только Linux.
Электронная почта

email_sender
SEMAPHORE_EMAIL_SENDER

Адрес электронной почты отправителя.

email_host
SEMAPHORE_EMAIL_HOST

Имя хоста SMTP-сервера.

email_port
SEMAPHORE_EMAIL_PORT

Порт SMTP-сервера.

email_secure
SEMAPHORE_EMAIL_SECURE

Включить StartTLS для перевода незашифрованного SMTP-соединения в защищённое, зашифрованное.

email_tls
SEMAPHORE_EMAIL_TLS

Использовать SSL- или TLS-соединение для взаимодействия с SMTP-сервером.

email_tls_min_version
SEMAPHORE_EMAIL_TLS_MIN_VERSION

Минимальная версия TLS, используемая для соединения.

email_username
SEMAPHORE_EMAIL_USERNAME

Имя пользователя для аутентификации на SMTP-сервере.

email_password
SEMAPHORE_EMAIL_PASSWORD

Пароль для аутентификации на SMTP-сервере.

email_alert
SEMAPHORE_EMAIL_ALERT

Флаг, включающий оповещения по электронной почте.
Мессенджеры

telegram_alert
SEMAPHORE_TELEGRAM_ALERT

Установите в True, чтобы включить отправку оповещений в Telegram. Следует использовать вместе с telegram_chat и telegram_token.

telegram_chat
SEMAPHORE_TELEGRAM_CHAT

Укажите Chat ID чата, в который отправлять оповещения. Подробнее в разделе Настройка уведомлений Telegram

telegram_token
SEMAPHORE_TELEGRAM_TOKEN

Укажите token авторизации бота, который будет получать оповещения. Подробнее в разделе Настройка уведомлений Telegram

slack_alert
SEMAPHORE_SLACK_ALERT

Установите в True, чтобы включить отправку оповещений в Slack. Следует использовать вместе с slack_url

slack_url
SEMAPHORE_SLACK_URL

URL webhook'а Slack. Semaphore будет использовать его для отправки POST-запросов с оповещениями в формате JSON Slack на указанный URL.

microsoft_teams_alert
SEMAPHORE_MICROSOFT_TEAMS_ALERT

Флаг, включающий оповещения в Microsoft Teams.

microsoft_teams_url
SEMAPHORE_MICROSOFT_TEAMS_URL

URL webhook'а Microsoft Teams.

rocketchat_alert
SEMAPHORE_ROCKETCHAT_ALERT

Установите в True, чтобы включить отправку оповещений в Rocket.Chat. Следует использовать вместе с rocketchat_url. Доступно начиная с v2.9.56.

rocketchat_url
SEMAPHORE_ROCKETCHAT_URL

URL webhook'а Rocket.Chat. Semaphore будет использовать его для отправки POST-запросов с оповещениями в формате JSON Rocket.Chat на указанный URL. Доступно начиная с v2.9.56.

dingtalk_alert
SEMAPHORE_DINGTALK_ALERT

Включить оповещения в Dingtalk.

dingtalk_url
SEMAPHORE_DINGTALK_URL

URL webhook'а мессенджера Dingtalk.

gotify_alert
SEMAPHORE_GOTIFY_ALERT

Включить оповещения в Gotify.

gotify_url
SEMAPHORE_GOTIFY_URL

URL сервера Gotify.

gotify_token
SEMAPHORE_GOTIFY_TOKEN

Token сервера Gotify.
LDAP

ldap_enable
SEMAPHORE_LDAP_ENABLE

Флаг, включающий аутентификацию через LDAP.

ldap_needtls
SEMAPHORE_LDAP_NEEDTLS

Флаг для включения или отключения TLS для соединений с LDAP.

ldap_binddn
SEMAPHORE_LDAP_BIND_DN

Отличительное имя (DN), используемое для привязки к LDAP-серверу при аутентификации.

ldap_bindpassword
SEMAPHORE_LDAP_BIND_PASSWORD

Пароль, используемый для привязки к LDAP-серверу при аутентификации.

ldap_server
SEMAPHORE_LDAP_SERVER

Имя хоста и порт LDAP-сервера (например, ldap-server.com:1389).

ldap_searchdn
SEMAPHORE_LDAP_SEARCH_DN

Базовое отличительное имя (DN), используемое для поиска пользователей в каталоге LDAP (например, dc=example,dc=org).

ldap_searchfilter
SEMAPHORE_LDAP_SEARCH_FILTER

Фильтр, используемый для поиска пользователей в каталоге LDAP (например, (&(objectClass=inetOrgPerson)(uid=%s))).

ldap_mappings.dn
SEMAPHORE_LDAP_MAPPING_DN

Атрибут LDAP, используемый как сопоставление отличительного имени (DN) при аутентификации пользователя.

ldap_mappings.mail
SEMAPHORE_LDAP_MAPPING_MAIL

Атрибут LDAP, используемый как сопоставление адреса электронной почты при аутентификации пользователя.

ldap_mappings.uid
SEMAPHORE_LDAP_MAPPING_UID

Атрибут LDAP, используемый как сопоставление идентификатора пользователя (UID) при аутентификации пользователя.

ldap_mappings.cn
SEMAPHORE_LDAP_MAPPING_CN

Атрибут LDAP, используемый как сопоставление общего имени (CN) при аутентификации пользователя.
Логирование

log.events.format Static Badge
SEMAPHORE_EVENT_LOG_FORMAT

Формат журнала событий. Может быть json или пустым для текстового формата.

log.events.enabled Static Badge
SEMAPHORE_EVENT_LOG_ENABLED

Включить или отключить логирование событий.

log.events.logger Static Badge
SEMAPHORE_EVENT_LOGGER

JSON-словарь с конфигурацией логгера событий.

log.tasks.format Static Badge
SEMAPHORE_TASK_LOG_FORMAT

Формат журнала задач. Может быть json или пустым для текстового формата.

log.tasks.enabled Static Badge
SEMAPHORE_TASK_LOG_ENABLED

Включить или отключить логирование задач.

log.tasks.logger Static Badge
SEMAPHORE_TASK_LOGGER

JSON-словарь с конфигурацией логгера задач.

log.tasks.result_logger Static Badge
SEMAPHORE_TASK_RESULT_LOGGER

JSON-словарь с конфигурацией логгера результатов задач.

syslog.enabled Static Badge
SEMAPHORE_SYSLOG_ENABLED

Включить или отключить запись логов на настроенный syslog-сервер.

syslog.network Static Badge
SEMAPHORE_SYSLOG_NETWORK

Протокол для подключения к Syslog-серверу: udp или tcp.

syslog.address Static Badge
SEMAPHORE_SYSLOG_ADDRESS

Имя хоста и порт Syslog-сервера. Пример: localhost:514.

syslog.tag Static Badge
SEMAPHORE_SYSLOG_TAG

Тег, которым помечаются записи Semaphore UI на Syslog-сервере.

syslog.format Static Badge
SEMAPHORE_SYSLOG_FORMAT

Формат сообщений Syslog. Может быть rfc5424 или пустым для формата по умолчанию.
Отладка

debugging.api_delay
SEMAPHORE_API_DELAY

Добавить задержку к ответам API (для целей отладки).

debugging.pprof_dump_dir
SEMAPHORE_PPROF_DUMP_DIR

Каталог для файлов дампов pprof.
Высокая доступность (HA)

ha.enabled Static Badge
SEMAPHORE_HA_ENABLED

Включить режим высокой доступности (HA).

ha.node_id Static Badge
SEMAPHORE_HA_NODE_ID

Уникальный идентификатор узла HA.

ha.redis.addr Static Badge
SEMAPHORE_HA_REDIS_ADDR

Адрес сервера Redis, используемого для HA. Пример: localhost:6379.

ha.redis.db Static Badge
SEMAPHORE_HA_REDIS_DB

Номер базы данных Redis.

ha.redis.pass Static Badge
SEMAPHORE_HA_REDIS_PASS

Пароль для сервера Redis.

ha.redis.user Static Badge
SEMAPHORE_HA_REDIS_USER

Имя пользователя для сервера Redis.

ha.redis.tls Static Badge
SEMAPHORE_HA_REDIS_TLS

Включить TLS для соединения с Redis.

ha.redis.tls_skip_verify Static Badge
SEMAPHORE_HA_REDIS_TLS_SKIP_VERIFY

Пропускать проверку TLS-сертификата для соединения с Redis.

Часто задаваемые вопросы

1. Как настроить публичный URL для Semaphore UI

Если перед Semaphore используется nginx или другой веб-сервер, необходимо указать параметр конфигурации web_host.

Например, вы настроили NGINX на сервере, который проксирует запросы в Semaphore.

Адрес сервера — https://example.com, и вы проксируете все запросы https://example.com/semaphore в Semaphore.

Ваш web_host будет https://example.com/semaphore.