# Docker gitlab: conflit user

**URL:** <https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371>\
**Category:** Support Debian\
**Created:** [Novembre 5, 2022, 6:21 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371 "2022-11-05T18:21:39Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![yatta](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yatta/32/12132_2.png) [@yatta](https://www.debian-fr.org/u/yatta)\
**Post date:** [Novembre 5, 2022, 6:21 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/1 "2022-11-05T18:21:39Z")

</div>

Bonjour,

J’ai installé gitlab via docker-compose.  
L’installation fonctionne sans problème mais je viens de m’apercevoir d’un truc.  
Quand je regarde les process, j’en ai qui appartiennent à l’uid 996,997,998,999

Tout ce que je voie, c’est que les sous process qui changent d’uid correspondent à  
997 = redis  
998 = gitaly  
996 = postgresql  
999 = nginx  
992 = grafana

sauf que certains existent déjà  
lslogins  
998 dante 32 0 0  
999 systemd-coredump 5 0 1 systemd Core Dumper

dante, c’est un utilisateur que j’ai créé pour le proxy  
par contre systemd-coredump, ça semble être lié à debian

Maintenant, comment je fais pour remettre de l’ordre parce que ça me plaît moyennement de mélanger tout ça.

edit: je viens de tomber sur [Provide different configuration for docker-based omnibus installation (#681) · Issues · GitLab.org / omnibus-gitlab · GitLab](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/681) et [Configuration options for the GitLab Linux package | GitLab](https://docs.gitlab.com/omnibus/settings/configuration.html#changing-the-name-of-the-git-user-group)  
je vais tester quand j’aurais un peu de temps ( faut que je fasse attention aux droits de certains fichiers maintenant)

le docker-compose :

```
version: "3.3"

services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: "gitlab"
    restart: always
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://git.home.xyz'
        nginx['listen_https'] = false
        nginx['listen_port'] = 80
    volumes:
     - '/home/gitlab/data:/var/opt/gitlab'
     - '/home/gitlab/config:/etc/gitlab'
     - '/home/gitlab/logs:/var/log/gitlab'
    networks:
     - gitlab_network
    ports:
     - '46080:80'
     - '46443:443'
     - '46022:22'

  gitlab-runner:
    image: gitlab/gitlab-runner:latest
    container_name: "gitlab-runner"
    restart: always
    depends_on:
     - gitlab
    volumes:
     - "/home/gitlab_runner/config:/etc/gitlab-runner"
     - "/var/run/docker.sock:/var/run/docker.sock"
    networks:
     - gitlab_network

networks:
  gitlab_network:
```

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Novembre 6, 2022, 10:06 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/2 "2022-11-06T10:06:05Z")

</div>

> [@yatta](#):
>
> Quand je regarde les process

Tu regardes sur l’hôte ou dans le conteneur Docker Gitlab ?  
Si tu regardes sur l’hôte, ce n’est pas un problème, si c’est sur le conteneur, effectivement, ça devrait peut-être poser problème.

---

<div class="post-metadata">

**Author:** ![yatta](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yatta/32/12132_2.png) [@yatta](https://www.debian-fr.org/u/yatta)\
**Post date:** [Novembre 6, 2022, 10:25 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/3 "2022-11-06T10:25:47Z")

</div>

C’est sur l’hôte que j’ai regardé.

Pourquoi tu dis que ce n’est pas un problème ?

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Novembre 6, 2022, 10:32 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/4 "2022-11-06T10:32:39Z")

</div>

Personnellement sur Debian et pour plus de simplicité lorsqu’il me faut déployer du Gitlab j’utilise la version Community _Omnibus_ :

> **[Omnibus GitLab Documentation | GitLab](https://docs.gitlab.com/omnibus/)**
>
> Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

… Juste ça fonctionne, et pour maintenir à jour un simple apt install gitlab-ce suffit ^^ (attention toutefois à) conserver une copie du fichier de conf et des secrets).

la version Docker je l’évite je lui préfère une version Kubernetes déployé sur du très gros cluster, avec un ou plusieurs _runner_ sui tu fais de la CI.

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Novembre 6, 2022, 7:30 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/5 "2022-11-06T19:30:07Z")

</div>

> [@yatta](#):
>
> Pourquoi tu dis que ce n’est pas un problème ?

Parce que les base utilisateurs de l’hôte et du conteneur ne sont pas les mêmes, il est donc normal d’avoir des numéros qui se chevauchent.  
J’ai une machine avec de multiples conteneurs LXC et j’ai également la même chose qui se produit.

---

<div class="post-metadata">

**Author:** ![yatta](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yatta/32/12132_2.png) [@yatta](https://www.debian-fr.org/u/yatta)\
**Post date:** [Novembre 6, 2022, 9:16 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/6 "2022-11-06T21:16:19Z")

</div>

faudrait que je creuse d’avantage le sujet, je savais pas que c’était possible.  
c’est pas terrible de voir pour un utilisateur connu d’autres processus, idem pour les droits des fichiers.  
je ne sais pas depuis combien de temps c’est comme ça (j’ai des doutes que ça soit le cas lors de l’install) mais ça fonctionne.  
tu conseilles de laisser en l’état ?

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Novembre 7, 2022, 6:06 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/7 "2022-11-07T06:06:34Z")

</div>

> [@yatta](#):
>
> c’est pas terrible de voir pour un utilisateur connu d’autres processus, idem pour les droits des fichiers.

Aucun problème, le processus s’exécute dans le conteneur et n’a pas accès à l’hôte.

> [@yatta](#):
>
> je ne sais pas depuis combien de temps c’est comme ça (j’ai des doutes que ça soit le cas lors de l’install) mais ça fonctionne.

Oui, c’est comme ça depuis longtemps, c’est comme ça que fonctionnement les conteneurs.

> [@yatta](#):
>
> tu conseilles de laisser en l’état ?

Je ne pense pas qu’il soit possible de « corriger » ça, donc, oui, laisse en l’état.

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Novembre 7, 2022, 7:50 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/8 "2022-11-07T07:50:51Z")

</div>

> [@Almtesh](#):
>
> Je ne pense pas qu’il soit possible de « corriger » ça, donc, oui, laisse en l’état.

Si les containers sont déployés depuis des dockerfile ou si il est possible de créer les images avec , il est tout à fait envisageable de modifier les users en question.

> [@yatta](#):
>
> tu conseilles de laisser en l’état ?

Bien entendu si ça marche comme ça, tu peux laisser tel quel.

> [@Almtesh](#):
>
> Oui, c’est comme ça depuis longtemps, c’est comme ça que fonctionnement les conteneurs.

C’est principalement pourquoi je regarde à trois fois si les images que je pompe sur les registry sont correctement réalisé, nombre de layers, users, facilité de mise à jour, persistance des données …

PS : Parfois il est plus simples de s’appuyer sur des images officiels et de monter soit même via un fichier compose sa stack, parfois vouloir réinventer la roue est inutile si tous à été bien pensé (mais c’est rare).

---

<div class="post-metadata">

**Author:** ![yatta](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yatta/32/12132_2.png) [@yatta](https://www.debian-fr.org/u/yatta)\
**Post date:** [Novembre 7, 2022, 6:28 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/9 "2022-11-07T18:28:25Z")

</div>

Oui, il semble possible de modifier les id dans ce cas : [Configuration options for the GitLab Linux package | GitLab](https://docs.gitlab.com/omnibus/settings/configuration.html#specify-numeric-user-and-group-identifiers)

J’ai trouvé un article traitant du sujet : [Understanding how uid and gid work in Docker containers | by Marc Campbell | Medium](https://medium.com/@mccode/understanding-how-uid-and-gid-work-in-docker-containers-c37a01d01cf)

est-ce qu’il existe un utilitaire capable de faire la distinction entre les processus hôtes / containeurs ?

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Novembre 8, 2022, 6:02 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/10 "2022-11-08T06:02:56Z")

</div>

Alors, de mon côté, j’ai remarqué que si je lance la commande

```auto
systemctl status

```

les processus des différents conteneurs sont le scope correspondant à leur conteneur.  
J’ai aussi remarqué que les conteneur LXC sont des processus et que les processus qu’ils exécutent sont leur enfant, tu peux aussi le voir avec des commande du genre de `pstree`.  
Je pense que ça doit être sensiblement pareil pour Docker…

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Novembre 8, 2022, 2:17 UTC](https://www.debian-fr.org/t/docker-gitlab-conflit-user/87371/11 "2022-11-08T14:17:24Z")

</div>

Oui, `systemctl status` affiche les [CGroups](https://fr.wikipedia.org/wiki/Cgroups) des processus
