在极狐GitLab 中使用 Libravatar 服务

Libravatar 是一项将您的头像(个人资料图片)传送到其它网站的服务。Libravatar API 主要基于 gravatar,因此您可以轻松切换到 Libravatar 头像服务,甚至是您自己的 Libravatar 服务器。

配置

gitlab.yml 的 gravatar 部分中,设置配置选项如下:

HTTP

  gravatar:
    enabled: true
    # gravatar URLs: possible placeholders: %{hash} %{size} %{email} %{username}
    plain_url: "http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"

HTTPS

  gravatar:
    enabled: true
    # gravatar URLs: possible placeholders: %{hash} %{size} %{email} %{username}
    ssl_url: "https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"

您自己的 Libravatar 服务器

如果您运行自己的 Libravatar 服务,则配置中的 URL 不同,但您必须提供相同的占位符,以便极狐GitLab 可以正确解析 URL。

例如,您在 http://libravatar.example.com 上托管服务,并且需要在 gitlab.yml 中提供的 plain_url 是:

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

Omnibus GitLab 示例

/etc/gitlab/gitlab.rb 中配置:

HTTP

gitlab_rails['gravatar_enabled'] = true
gitlab_rails['gravatar_plain_url'] = "http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"

HTTPS

gitlab_rails['gravatar_enabled'] = true
gitlab_rails['gravatar_ssl_url'] = "https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"

然后运行 sudo gitlab-ctl reconfigure,使更改生效。

丢失图像的默认 URL

Libravatar 支持在 Libravatar 服务上,为找不到的用户电子邮件地址提供不同的缺失图像集。

如要使用 identicon 以外的集合,请将 URL 的 &d=identicon 部分替换为另一个受支持的集合。例如,您可以使用 retro 集,在这种情况下 URL 将如下所示: plain_url: "http://cdn.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'