Inconsistent behaviour for CELLS_LOG and other environment variables

Describe your issue in detail

According to the developer guide for cells and for cells start, certain environment variables should work, but they do not.

Here is my compose.yaml file:

services:
  pydio:
    image: pydio/cells:latest
    container_name: pydio-cells
    ports:
      - "8808:8080" # web ui
    env_file:
      - .env
    volumes:
      - ${FILE_INSTALL}:/pydio/config/install-conf.yml:ro
      - ${DIRECTORY_CELLS}:/var/cells
      - ${DIRECTORY_DATA}:/var/cells/data
      - /media:/media
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
  pydio-db:
    image: mysql:latest
    container_name: pydio-db
    command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --log-error-verbosity=2]
    ports:
      - "3306:3306" # mysql
    env_file:
      - .env
    volumes:
      - ${DIRECTORY_MYSQL}:/var/lib/mysql
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped

Here is my .env file:

# Timezone from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TZ=America/Edmonton
# Directory locations
DIRECTORY_CELLS=/srv/pydio/cells
DIRECTORY_DATA=/media/storage/cells/
DIRECTORY_MYSQL=/srv/pydio/mysql
FILE_INSTALL=/srv/pydio/config/install-conf.yml
# Container specifics
## cells
CELLS_INSTALL_YAML=/pydio/config/install-conf.yml
CELLS_BIND=0.0.0.0:8080
CELLS_SITE_BIND=0.0.0.0:8080
CELLS_EXTERNAL=https://files.example.com
CELLS_SITE_EXTERNAL=https://files.example.com
CELLS_SITE_NO_TLS=1
CELLS_NO_TLS=1
CELLS_LOG=warn
CELLS_LOG_LEVEL=warn
CELLS_LOG_JSON=false
CELLS_JOBS_LOG_LEVEL=info
CELLS_DEFAULT_DS_STRUCT=true
## mysql
MYSQL_ROOT_PASSWORD=[password]
MYSQL_DATABASE=cells
MYSQL_USER=pydio
MYSQL_PASSWORD=[password]

And finally the contents of the install-conf.yml file:

# DB Connection
dbconnectiontype: tcp
dbtcphostname: pydio-db
dbtcpport: 3306
dbtcpname: cells
dbtcpuser: pydio
dbtcppassword: [database-password]

# Frontend
frontendhosts: http://[server-ip]:8808,https://files.example.com
frontendlogin: admin
frontendpassword: [frontend-password]
frontendapplicationtitle: My Pydio Cells
frontenddefaultlanguage: en-us

When I start my docker container, the log level is not set correctly. Here is the output:

$ docker logs pydio-cells
### Pydio Cells Home Edition
 Version:       4.4.9
 Built:         27 Jan 25 13:56 +0000
 Git commit:    eb934e272fbdb043978fcf6ae9c164eda6ebc714
 OS/Arch:       linux/amd64
 Go version:    go1.22.11
### About to execute: [cells start]
Binary:
  Package:      Pydio Cells Home Edition
  Version:      4.4.9
  BuildTime:    27 Jan 25 13:56 +0000
  Git Commit:   eb934e272fbdb043978fcf6ae9c164eda6ebc714
  Go Version:   go1.22.11
  OS/arch:      linux/amd64

Drivers:
  Registry:     mem:///registry
  Broker:       mem:///broker
  Config:       file:///var/cells/pydio.json
  Vault:        file:///var/cells/pydio-vault.json
  Keyring:      file:///var/cells/cells-vault-key
  Certificates: file:///var/cells/certs
  Cache:        bigcache:///cache
  ShortCache:   pm:///shortcache
  Queue:        mem:///queue
  Persisting Queue:     file:///queue

Networking:
  Hostname:     files
  Advertise:    127.0.0.1

Monitoring:
  Metrics:      false
  Profiles:     false

Build Settings:
  -buildmode:   exe
  -compiler:    gc
  -trimpath:    true
  CGO_ENABLED:  0
  GOARCH:       amd64
  GOOS: linux
  GOAMD64:      v1
  vcs:  git
  vcs.revision: eb934e272fbdb043978fcf6ae9c164eda6ebc714
  vcs.time:     2025-01-27T13:54:55Z
  vcs.modified: false

2025-02-04T18:06:21.783Z        INFO    pydio.grpc.registry     ready
2025-02-04T18:06:21.784Z        INFO    pydio.grpc.config       ready
2025-02-04T18:06:21.786Z        INFO    pydio.grpc.broker       ready
2025-02-04T18:06:21.884Z        INFO    pydio.grpc.log  ready
2025-02-04T18:06:21.893Z        INFO    pydio.server.manager    Discovery services started, carry on to other services
2025-02-04T18:06:22.097Z        INFO    pydio.gateway.grpc.clear        Configuring HTTP only gRPC gateway. Will be accessed directly through :0
*****************************************************************
*  Dynamic bind flag detected, overriding any configured sites  *
*****************************************************************
2025-02-04T18:06:22.121Z        INFO    pydio.grpc.data.objects Starting umbrella service pydio.grpc.data.objects. with sources {"sources": ["local1", "gateway1"]}
2025-02-04T18:06:22.122Z        INFO    pydio.grpc.data.objects ready
2025-02-04T18:06:22.123Z        INFO    pydio.grpc.data.sync    Starting umbrella service pydio.grpc.data.sync. with sources    {"sources": ["pydiods1", "personal", "cellsdata", "versions", "thumbnails", "s3storage"]}
2025-02-04T18:06:22.126Z        INFO    pydio.grpc.data.sync    ready

What version of Cells are you using?

Pydio Cells Home Edition
Version: 4.4.9
Built: 27 Jan 25 13:56 +0000
Git commit: eb934e272fbdb043978fcf6ae9c164eda6ebc714
OS/Arch: linux/amd64
Go version: go1.22.11

What steps have you taken to resolve this issue already?

I’ve reviewed the documentation and have searched the forums. I even updated my configuration to skip the environment files and pass command line options, and the log level still did not change.

Updates compose.yaml file:

services:
  pydio:
    image: pydio/cells:latest
    container_name: pydio-cells
    ports:
      - "8808:8080" # web ui
    env_file:
      - .env
    volumes:
      - ${FILE_INSTALL}:/pydio/config/install-conf.yml:ro
      - ${DIRECTORY_CELLS}:/var/cells
      - ${DIRECTORY_DATA}:/var/cells/data
      - /media:/media
      - /etc/localtime:/etc/localtime:ro
    command: --site_external=https://files.example.com --site_no_tls=false --log=warn --log_json=false
    restart: unless-stopped
  pydio-db:
    image: mysql:latest
    container_name: pydio-db
    command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --log-error-verbosity=2]
    ports:
      - "3306:3306" # mysql
    env_file:
      - .env
    volumes:
      - ${DIRECTORY_MYSQL}:/var/lib/mysql
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped

Updated .env file:

# Timezone from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TZ=America/Edmonton
# Directory locations
DIRECTORY_CELLS=/srv/pydio/cells
DIRECTORY_DATA=/media/storage/cells/
DIRECTORY_MYSQL=/srv/pydio/mysql
FILE_INSTALL=/srv/pydio/config/install-conf.yml
# Container specifics
## cells
CELLS_INSTALL_YAML=/pydio/config/install-conf.yml
#CELLS_BIND=0.0.0.0:8080
#CELLS_SITE_BIND=0.0.0.0:8080
#CELLS_EXTERNAL=https://files.example.com
#CELLS_SITE_EXTERNAL=https://files.example.com
#CELLS_SITE_NO_TLS=1
#CELLS_NO_TLS=1
#CELLS_LOG=warn
#CELLS_LOG_LEVEL=warn
#CELLS_LOG_JSON=false
#CELLS_JOBS_LOG_LEVEL=info
CELLS_DEFAULT_DS_STRUCT=true
## mysql
MYSQL_ROOT_PASSWORD=[password]
MYSQL_DATABASE=cells
MYSQL_USER=pydio
MYSQL_PASSWORD=[password]

Here’s the log file showing the command line options:

$ docker logs pydio-cells
### Pydio Cells Home Edition
 Version:       4.4.9
 Built:         27 Jan 25 13:56 +0000
 Git commit:    eb934e272fbdb043978fcf6ae9c164eda6ebc714
 OS/Arch:       linux/amd64
 Go version:    go1.22.11
### About to execute: [cells start --site_external=https://files.example.com --site_no_tls=false --log=warn --log_json=false]
Binary:
  Package:      Pydio Cells Home Edition
  Version:      4.4.9
  BuildTime:    27 Jan 25 13:56 +0000
  Git Commit:   eb934e272fbdb043978fcf6ae9c164eda6ebc714
  Go Version:   go1.22.11
  OS/arch:      linux/amd64

Drivers:
  Registry:     mem:///registry
  Broker:       mem:///broker
  Config:       file:///var/cells/pydio.json
  Vault:        file:///var/cells/pydio-vault.json
  Keyring:      file:///var/cells/cells-vault-key
  Certificates: file:///var/cells/certs
  Cache:        bigcache:///cache
  ShortCache:   pm:///shortcache
  Queue:        mem:///queue
  Persisting Queue:     file:///queue

Networking:
  Hostname:     files
  Advertise:    127.0.0.1

Monitoring:
  Metrics:      false
  Profiles:     false

Build Settings:
  -buildmode:   exe
  -compiler:    gc
  -trimpath:    true
  CGO_ENABLED:  0
  GOARCH:       amd64
  GOOS: linux
  GOAMD64:      v1
  vcs:  git
  vcs.revision: eb934e272fbdb043978fcf6ae9c164eda6ebc714
  vcs.time:     2025-01-27T13:54:55Z
  vcs.modified: false

2025-02-04T18:43:40.630Z        INFO    pydio.grpc.registry     ready
2025-02-04T18:43:40.637Z        INFO    pydio.grpc.broker       ready
2025-02-04T18:43:40.637Z        INFO    pydio.grpc.config       ready
2025-02-04T18:43:40.642Z        INFO    pydio.grpc.log  ready
2025-02-04T18:43:40.648Z        INFO    pydio.server.manager    Discovery services started, carry on to other services
2025-02-04T18:43:40.850Z        INFO    pydio.gateway.grpc.clear        Configuring HTTP only gRPC gateway. Will be accessed directly through :0
2025-02-04T18:43:40.865Z        INFO    pydio.rest.templates    starting        {"service": "pydio.rest.templates", "hook router to": "/a/templates"}
2025-02-04T18:43:40.887Z        INFO    pydio.gateway.data      ready

Why can I not change the log level using either the environment variables or the command line options?