libravatar.md 2.3 KB
Newer Older
M
Marin Jankovski 已提交
1 2
# Use Libravatar service with GitLab

J
Jan Tojnar 已提交
3
GitLab by default supports [Gravatar](https://gravatar.com) avatar service.
M
Marin Jankovski 已提交
4
Libravatar is a service which delivers your avatar (profile picture) to other websites and their API is
5
[heavily based on gravatar](https://wiki.libravatar.org/api/).
M
Marin Jankovski 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18

This means that it is not complicated to switch to Libravatar avatar service or even self hosted Libravatar server.

# Configuration

In [gitlab.yml gravatar section](https://gitlab.com/gitlab-org/gitlab-ce/blob/672bd3902d86b78d730cea809fce312ec49d39d7/config/gitlab.yml.example#L122) set
the configuration options as follows:

## For HTTP

```yml
  gravatar:
    enabled: true
19
    # gravatar URLs: possible placeholders: %{hash} %{size} %{email}
M
Marin Jankovski 已提交
20 21 22 23 24 25 26 27
    plain_url: "http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
```

## For HTTPS

```yml
  gravatar:
    enabled: true
28
    # gravatar URLs: possible placeholders: %{hash} %{size} %{email}
M
Marin Jankovski 已提交
29 30 31 32 33
    ssl_url: "https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon"
```

## Self-hosted

34
If you are [running your own libravatar service](https://wiki.libravatar.org/running_your_own/) the URL will be different in the configuration
35
but the important part is to provide the same placeholders so GitLab can parse the URL correctly.
M
Marin Jankovski 已提交
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

For example, you host a service on `http://libravatar.example.com` the `plain_url` you need to supply in `gitlab.yml` is

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


## Omnibus-gitlab example

In `/etc/gitlab/gitlab.rb`:

#### For http

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

#### For https

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


Run `sudo gitlab-ctl reconfigure` for changes to take effect.


## Default URL for missing images

66
[Libravatar supports different sets](https://wiki.libravatar.org/api/) of `missing images` for emails not found on the Libravatar service.
M
Marin Jankovski 已提交
67

68 69
In order to use a different set other than `identicon`, replace `&d=identicon` portion of the URL with another supported set.
For example, you can use `retro` set in which case the URL would look like: `plain_url: "http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=retro"`