Конфигурация
Semaphore можно настроить несколькими способами:
- Онлайн-конфигуратор — веб-интерфейс для генерации конфигурации онлайн.
- Файл конфигурации — основной и самый гибкий способ настройки 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_templateSEMAPHORE_MAX_TASKS_PER_TEMPLATE | Максимальное число последних задач, хранящихся в базе данных для каждого шаблона. |
schedule.timezone SEMAPHORE_SCHEDULE_TIMEZONE | Часовой пояс, используемый для планирования задач и cron-заданий. По умолчанию: UTC |
oidc_providers SEMAPHORE_OIDC_PROVIDERS | Настройки провайдеров OpenID. Можно указать несколько провайдеров OpenID. Подробнее о настройке OpenID читайте в разделе OpenID. |
password_login_disable SEMAPHORE_PASSWORD_LOGIN_DISABLED | Запретить вход по паролю. |
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 SEMAPHORE_TOTP_ISSUER | Метка издателя (название 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 SEMAPHORE_EVENT_LOG_FORMAT | Формат журнала событий. Может быть json или пустым для текстового формата. |
log.events.enabled SEMAPHORE_EVENT_LOG_ENABLED | Включить или отключить логирование событий. |
log.events.logger SEMAPHORE_EVENT_LOGGER | JSON-словарь с конфигурацией логгера событий. |
log.tasks.format SEMAPHORE_TASK_LOG_FORMAT | Формат журнала задач. Может быть json или пустым для текстового формата. |
log.tasks.enabled SEMAPHORE_TASK_LOG_ENABLED | Включить или отключить логирование задач. |
log.tasks.logger SEMAPHORE_TASK_LOGGER | JSON-словарь с конфигурацией логгера задач. |
log.tasks.result_logger SEMAPHORE_TASK_RESULT_LOGGER | JSON-словарь с конфигурацией логгера результатов задач. |
syslog.enabled SEMAPHORE_SYSLOG_ENABLED | Включить или отключить запись логов на настроенный syslog-сервер. |
syslog.network SEMAPHORE_SYSLOG_NETWORK | Протокол для подключения к Syslog-серверу: udp или tcp. |
syslog.address SEMAPHORE_SYSLOG_ADDRESS | Имя хоста и порт Syslog-сервера. Пример: localhost:514. |
syslog.tag SEMAPHORE_SYSLOG_TAG | Тег, которым помечаются записи Semaphore UI на Syslog-сервере. |
syslog.format SEMAPHORE_SYSLOG_FORMAT | Формат сообщений Syslog. Может быть rfc5424 или пустым для формата по умолчанию. |
| Отладка | |
debugging.api_delay SEMAPHORE_API_DELAY | Добавить задержку к ответам API (для целей отладки). |
debugging.pprof_dump_dir SEMAPHORE_PPROF_DUMP_DIR | Каталог для файлов дампов pprof. |
| Высокая доступность (HA) | |
ha.enabled SEMAPHORE_HA_ENABLED | Включить режим высокой доступности (HA). |
ha.node_id SEMAPHORE_HA_NODE_ID | Уникальный идентификатор узла HA. |
ha.redis.addr SEMAPHORE_HA_REDIS_ADDR | Адрес сервера Redis, используемого для HA. Пример: localhost:6379. |
ha.redis.db SEMAPHORE_HA_REDIS_DB | Номер базы данных Redis. |
ha.redis.pass SEMAPHORE_HA_REDIS_PASS | Пароль для сервера Redis. |
ha.redis.user SEMAPHORE_HA_REDIS_USER | Имя пользователя для сервера Redis. |
ha.redis.tls SEMAPHORE_HA_REDIS_TLS | Включить TLS для соединения с Redis. |
ha.redis.tls_skip_verify 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.