GitLab에서 Libravatar 서비스 사용하기

Tier: Free, Premium, Ultimate Offering: Self-Managed

기본적으로 GitLab은 Gravatar 아바타 서비스를 지원합니다.

Libravatar는 다른 웹사이트로 사용자의 아바타(프로필 사진)를 전달하는 다른 서비스입니다. Libravatar API는 Gravatar를 크게 벤치마킹한 구조로, Libravatar 아바타 서비스로 전환하거나 자체 Libravatar 서버로 전환할 수 있습니다.

Libravatar 서비스를 자체 서버로 변경하기

gitlab.yml 그라바타 섹션에서 다음과 같이 구성 옵션을 설정합니다.

Linux 패키지 설치의 경우:

  1. /etc/gitlab/gitlab.rb 파일 편집:

    gitlab_rails['gravatar_enabled'] = true
    #### HTTPS인 경우
    gitlab_rails['gravatar_ssl_url'] = "https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
    #### HTTP인 경우 이 줄을 사용
    # gitlab_rails['gravatar_plain_url'] = "http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
    
  2. 변경 사항을 적용하려면 sudo gitlab-ctl reconfigure를 실행합니다.

자체 컴파일 설치의 경우:

  1. config/gitlab.yml 편집:

      gravatar:
        enabled: true
        # 기본: https://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon
        plain_url: "http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
        # 기본: https://secure.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon
        ssl_url: https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
    
  2. 파일을 저장하고 변경 사항이 적용되도록 하려면 GitLab을 다시 시작합니다.

Libravatar 서비스를 기본값(Gravatar)으로 설정하기

Linux 패키지 설치의 경우:

  1. /etc/gitlab/gitlab.rb에서 gitlab_rails['gravatar_ssl_url'] 또는 gitlab_rails['gravatar_plain_url']을 삭제합니다.
  2. 변경 사항을 적용하려면 sudo gitlab-ctl reconfigure를 실행합니다.

자체 컴파일 설치의 경우:

  1. config/gitlab.yml에서 gravatar: 섹션을 제거합니다.
  2. 파일을 저장한 다음 변경 사항을 적용하려면 GitLab을 다시 시작합니다.

Gravatar 서비스 비활성화하기

예를 들어, 제3자 서비스를 금지하려면 Gravatar를 비활성화하기 위해 다음 단계를 완료하세요:

Linux 패키지 설치의 경우:

  1. /etc/gitlab/gitlab.rb 파일 편집:

    gitlab_rails['gravatar_enabled'] = false
    
  2. 변경 사항을 적용하려면 sudo gitlab-ctl reconfigure를 실행합니다.

자체 컴파일 설치의 경우:

  1. config/gitlab.yml 편집:

      gravatar:
        enabled: false
    
  2. 파일을 저장한 다음 변경 사항을 적용하려면 GitLab을 다시 시작합니다.

자체 Libravatar 서버

만약 자체 Libravatar 서비스를 운영 중이라면, 구성에서 URL이 다르지만 GitLab이 URL을 정확하게 구문 분석할 수 있도록 동일한 플레이스홀더를 제공해야 합니다.

예를 들어 https://libravatar.example.com에서 서비스를 호스팅하고 있고, gitlab.yml에서 제공해야 하는 ssl_url은 다음과 같습니다:

https://libravatar.example.com/avatar/%{hash}?s=%{size}&d=identicon

이미지가 없는 경우의 기본 URL

Libravatar는 Libravatar 서비스에서 찾을 수 없는 사용자 이메일 주소에 대한 다른 세트의 누락된 이미지를 지원합니다.

identicon대신 다른 지원되는 세트로 사용하려면 URL의 &d=identicon 부분을 다른 지원되는 세트로 대체하세요. 예를 들어 retro 세트를 사용할 수 있으며, 이 경우 URL은 다음과 같을 것입니다: ssl_url: "https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=retro"

Microsoft Office 365 사용 예시

사용자가 Office 365 사용자인 경우, GetPersonaPhoto 서비스를 사용할 수 있습니다. 이 서비스는 로그인이 필요하므로 모든 사용자가 Office 365에 액세스할 수 있는 기업 설치에서 가장 유용합니다.

gitlab_rails['gravatar_plain_url'] = 'http://outlook.office.com/owa/service.svc/s/GetPersonaPhoto?email=%{email}&size=HR120x120'
gitlab_rails['gravatar_ssl_url'] = 'https://outlook.office.com/owa/service.svc/s/GetPersonaPhoto?email=%{email}&size=HR120x120'