환경 변수
Entry, Professional, Enterprise, Enterprise Advanced 플랜에서 사용할 수 있습니다.
환경 변수를 사용해 구성을 관리할 수 있습니다. 환경 변수는 config.json의 설정을 재정의합니다. config.json의 어떤 설정을 변경할 때 적용을 위해 재시작이 필요하다면, 그에 대응하는 환경 변수를 변경할 때에도 서버 재시작이 필요합니다.
모든 설정의 환경 변수 이름은 config.json에 있는 해당 설정의 이름에서 도출할 수 있습니다. 예를 들어 Site URL 설정의 환경 변수 이름은 다음과 같이 도출합니다.
config.json에서 해당 설정을 찾습니다. 이 경우ServiceSettings.SiteURL입니다.- 앞에
MM_을 붙이고 모든 문자를 대문자로 바꾼 뒤.을_로 치환합니다. 예를 들어MM_SERVICESETTINGS_SITEURL이 됩니다. - 결과적으로 설정은 다음과 같은 형태가 됩니다.
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 서버는 라이선스 없이 시작됩니다.
고가용성 배포에서 환경 변수로 서버 라이선스를 재정의하면 해당 앱 서버 한 대에만 적용되며 클러스터의 다른 서버로는 전파되지 않습니다.
맞춤 구성 기본값 로드
이 맞춤 구성은 해당 값이 현재 서버 구성에 이미 존재하지 않는 경우에만 적용됩니다.
- 맞춤 구성 기본값이 담긴 JSON 파일을 만듭니다. 예를 들면
custom.json입니다. - 서버를 시작할 때 맞춤 기본값 환경 변수가 그 기본값 파일을 가리키도록 지정합니다. 예를 들면
MM_CUSTOM_DEFAULTS_PATH=custom.json입니다.