[WARN] Group with 100 already exists: users

On Arch Linux my profile’s uid is 1000 and its initial login group gid is 100.

[bobbybabes@ladyluck 5.0.2 ~]# id
uid=1000(bobbybabes) gid=100(users) groups=100(users),10(wheel),11(ftp),33(http),93(optical),108(vboxusers),979(docker),994(libvirt)

In .env I changed the GID to what it is on the host : 100. It now looks like this :

###
### Set your user id and group id
###   
### This should be changed to the value of your local
### users uid and gid
###
### Type `id` on the terminal to find out your values
###
NEW_UID=1000
#--NEW_GID=1000
NEW_GID=100

But when I start a container I see this warning twice in the container startup messages :

[WARN] Group with 100 already exists: users

Should I be changing the group ID in .env ?

Container startup messages :

[bobbybabes@ladyluck 5.0.2 devilbox]# docker-compose up
Creating network "devilbox_app_net" with driver "bridge"
Creating devilbox_bind_1 ... done
Creating devilbox_php_1  ... done
Creating devilbox_httpd_1 ... done
Creating devilbox_memcd_1 ... done
Creating devilbox_mongo_1 ... done
Creating devilbox_pgsql_1 ... done
Creating devilbox_redis_1 ... done
Creating devilbox_mysql_1 ... done
Attaching to devilbox_bind_1, devilbox_php_1, devilbox_httpd_1, devilbox_memcd_1, devilbox_mysql_1, devilbox_redis_1, devilbox_pgsql_1, devilbox_mongo_1
php_1    | [INFO] Debug level: 1
php_1    | [INFO] Changing user 'devilbox' uid to: 1000
php_1    | usermod: no changes
php_1    | [WARN] Group with 100 already exists: users
php_1    | [INFO] Changing GID of users to 9876
php_1    | [INFO] Changing group 'devilbox' gid to: 100
php_1    | [INFO] Setting container timezone to: CET
php_1    | [INFO] Setting PHP: timezone=CET
php_1    | [INFO] Docker date set to: Thu Apr 11 12:21:21 CEST 2019
php_1    | [INFO] $DOCKER_LOGS set to 0. Logging to files under: /var/log/php
php_1    | [INFO] Make sure to mount this directory in order to view logs
php_1    | [INFO] $ENABLE_MAIL set to 1. Enabling postfix catch-all
php_1    | [INFO] Forwarding httpd:80 to 127.0.0.1:80 inside this docker.
php_1    | [INFO] Forwarding httpd:443 to 127.0.0.1:443 inside this docker.
php_1    | [INFO] Forwarding mysql:3306 to 127.0.0.1:3306 inside this docker.
php_1    | [INFO] Forwarding pgsql:5432 to 127.0.0.1:5432 inside this docker.
php_1    | [INFO] Forwarding redis:6379 to 127.0.0.1:6379 inside this docker.
php_1    | [INFO] Forwarding memcd:11211 to 127.0.0.1:11211 inside this docker.
httpd_1  | [INFO] Debug level: 1
bind_1   | [INFO] Debug level: 1
httpd_1  | [INFO] Runtime debug: 1
httpd_1  | [INFO] Changing user 'nginx' uid to: 1000
php_1    | [INFO] Forwarding mongo:27017 to 127.0.0.1:27017 inside this docker.
httpd_1  | [WARN] Group with 100 already exists: users
httpd_1  | [INFO] Changing GID of users to 9876
bind_1   | [INFO] BIND logging: disabled explicitly
httpd_1  | [INFO] Changing group 'nginx' gid to: 100
httpd_1  | [INFO] Setting container timezone to: CET
httpd_1  | [INFO] Docker date set to: Thu Apr 11 12:21:22 CEST 2019
bind_1   | [INFO] Using default DNS TTL time: 3600 sec
httpd_1  | [INFO] $WORKER_PROCESSES set to its default value: 'auto'.
httpd_1  | [INFO] Setting worker_connections to: 1024
httpd_1  | [INFO] $DOCKER_LOGS disabled. Logging errors and access to log files inside container.
php_1    | [INFO] Enabling 'socat-80-httpd-80' to be started by supervisord
httpd_1  | [INFO] PHP-FPM: Enabled
httpd_1  | [INFO] PHP-FPM: Server address: php
httpd_1  | [INFO] PHP-FPM: Server port: 9000
httpd_1  | [INFO] PHP-FPM: Timeout: 180
php_1    | [INFO] Enabling 'socat-443-httpd-443' to be started by supervisord
php_1    | [INFO] Enabling 'socat-3306-mysql-3306' to be started by supervisord
httpd_1  | [INFO] Main vhost: Enabled
php_1    | [INFO] Enabling 'socat-5432-pgsql-5432' to be started by supervisord
httpd_1  | [INFO] Main vhost: Setting SSL type to: http and https
httpd_1  | [INFO] Main vhost: Enable automatic generation of SSL certificates
php_1    | [INFO] Enabling 'socat-6379-redis-6379' to be started by supervisord
httpd_1  | [INFO] Main vhost: SSL CN: localhost,*.localhost,devilbox,*.devilbox,httpd
httpd_1  | [INFO] $MAIN_VHOST_DOCROOT not specified. Keeping default: htdocs
httpd_1  | [INFO] $MAIN_VHOST_TPL not specified. Keeping default: cfg
httpd_1  | [INFO] Main vhost: Enabling httpd status page
httpd_1  | [INFO] Main vhost: Changing status page alias to: /devilbox-httpd-status
php_1    | [INFO] Enabling 'socat-11211-memcd-11211' to be started by supervisord
httpd_1  | [INFO] Mass vhost: Enabled
httpd_1  | [INFO] Mass vhost: Setting SSL type to: http and https
httpd_1  | [INFO] Mass vhost: Enable automatic generation of SSL certificates
httpd_1  | [INFO] Mass vhost: changing tld to: .loc
httpd_1  | [INFO] Mass vhost: changing document root to: htdocs
httpd_1  | [INFO] Mass vhost: changing template dir to: .devilbox
httpd_1  | [INFO] vhost-gen: no customized template found
php_1    | [INFO] Enabling 'socat-27017-mongo-27017' to be started by supervisord
httpd_1  | [WARN] override template not found:  /var/www/default/cfg/nginx.yml
bind_1   | [INFO] Using default DNS Refresh time: 1200 sec
httpd_1  | vhostgen: [2019-04-11 12:21:22] Adding: localhost
httpd_1  | $ openssl genrsa -out /ca/devilbox-ca.key 2048
bind_1   | [INFO] Using default DNS Retry time: 180 sec

This is fine and not a problem at all. I should actually make this an INFO message.

What does it mean?

During the startup, the PHP container changes the Devilbox user and group id to the one’s you have specified in .env in order to fully match the filesystem permissions. If you have picked a user or group id (in your case group id 100) which already exists within the PHP container, the devilbox group would not be able to be changed to that group (because another group already uses that id).

Instead, if this is the case, the PHP container changes the other group (with group id 100) to another group id, so that afterwards the Devilbox group can use the group id 100.

So all good :slight_smile:

1 Like

Thanks for explaining. I crossed another one of my list.