환경 변수

Mattermost v11.11번역일: 2026-09-02원본 보기

환경 변수를 사용해 구성을 관리할 수 있습니다. 환경 변수는 config.json의 설정을 재정의합니다. config.json의 어떤 설정을 변경할 때 적용을 위해 재시작이 필요하다면, 그에 대응하는 환경 변수를 변경할 때에도 서버 재시작이 필요합니다.

모든 설정의 환경 변수 이름은 config.json에 있는 해당 설정의 이름에서 도출할 수 있습니다. 예를 들어 Site URL 설정의 환경 변수 이름은 다음과 같이 도출합니다.

  1. config.json에서 해당 설정을 찾습니다. 이 경우 ServiceSettings.SiteURL입니다.
  2. 앞에 MM_을 붙이고 모든 문자를 대문자로 바꾼 뒤 .을 _로 치환합니다. 예를 들어 MM_SERVICESETTINGS_SITEURL이 됩니다.
  3. 결과적으로 설정은 다음과 같은 형태가 됩니다.
    export MM_SERVICESETTINGS_SITEURL="http://example.com"
참고
  • Mattermost를 초기화 파일에서 실행하는 경우 Environment=<> 또는 EnvironmentFile=<path/to/file>로 환경 변수를 설정할 수 있습니다. 후자의 경우 지정한 파일에 설정할 환경 변수 목록이 들어 있습니다.
  • Mattermost v7.5부터 환경 구성 파싱은 MM_PLUGINSETTINGS_PLUGINS와 MM_PLUGINSETTINGS_PLUGINSTATES에 대해 JSON을 지원합니다. 모든 플러그인을 동시에 구성한다는 전제하에 Helm 구성 파일에 특히 유용합니다. 예를 들면 MM_PLUGINSETTINGS_PLUGINSTATES="{\"com.mattermost.calls\":{\"Enable\":true},\"com.mattermost.nps\":{\"Enable\":true}}"와 같습니다.
  • 환경 변수로 설정을 구성하면 시스템 관리자는 시스템 콘솔(System Console)에서 해당 설정을 수정할 수 없습니다. 어떤 설정이 환경 변수로 구성된 상태에서 시스템 콘솔에서 다른 변경을 수행하면, 환경 변수에 저장된 값이 해당 설정의 값으로 config.json에 다시 기록됩니다.
  • config.json과 환경 변수 어느 쪽에도 설정되지 않은 항목은 Mattermost 서버가 이 페이지 아래 섹션에 문서화된 해당 설정의 기본값을 사용합니다.
주의
  • 활성 셸 안에 설정된 Mattermost 설정용 환경 변수는 구성을 마이그레이션할 때 적용됩니다. 자세한 내용은 데이터베이스에 구성 저장 문서를 참고하세요.
  • 데이터베이스 읽기 복제본과 검색 복제본의 데이터베이스 연결 문자열은 URL 인코딩으로 형식을 맞춰야 합니다. 형식이 올바르지 않으면 일부 문자가 문자열을 조기에 종료시켜, 연결 문자열을 파싱할 때 문제가 발생할 수 있습니다.

Mattermost 라이선스 파일 재정의

환경 변수를 사용하면 데이터베이스나 파일 구성에 들어 있는 라이선스를 교체하지 않고도 재정의할 수 있습니다. 서버를 시작할 때 라이선스 파일의 내용을 담은 라이선스 키를 MM_LICENSE로 지정하세요.

참고

MM_LICENSE가 비어 있지 않은 문자열로 설정되었더라도 지정한 라이선스가 유효하지 않으면 Mattermost 서버는 라이선스 없이 시작됩니다.

고가용성 배포에서 환경 변수로 서버 라이선스를 재정의하면 해당 앱 서버 한 대에만 적용되며 클러스터의 다른 서버로는 전파되지 않습니다.

맞춤 구성 기본값 로드

이 맞춤 구성은 해당 값이 현재 서버 구성에 이미 존재하지 않는 경우에만 적용됩니다.

  1. 맞춤 구성 기본값이 담긴 JSON 파일을 만듭니다. 예를 들면 custom.json입니다.
  2. 서버를 시작할 때 맞춤 기본값 환경 변수가 그 기본값 파일을 가리키도록 지정합니다. 예를 들면 MM_CUSTOM_DEFAULTS_PATH=custom.json입니다.