ODK Central v2026.1 update error

1. What is the issue? Please be detailed.

During the update from v2025.4.4 to v2026.1.0 I’ve got an error while executing the “docker compose pull” step.

The message was “services.service.environment array items[8,21] must be unique”.

Apparently it is related to a duplicated environment variable declaration in the environment session of the services container in the file docker-compose.yml

The environment variable PGAPPNAME is declared twice in that section.

2. What steps can we take to reproduce this issue?

Follow the normal update process:

git pull

git submodule update -i

docker compose pull

3. What have you tried to fix the issue?

I guess that just removing the duplication will fix the issue. I haven’t modified the file because this update is not critical and I can wait for you final solution, which also avoids changing local files :slight_smile:

Thank you!

4. Upload any forms or screenshots you can share publicly below.

1 Like

Thanks for reporting this @rfvieira

There shouldn't be duplicate environment variables in docker-compose.yml in the first place, we are working to address that.

Meanwhile can you please check the docker compose version at your end. There was a regression bug in v2.24.1 of docker compose https://github.com/docker/compose/issues/11371 which caused this issue, so if you are using older version of docker compose then it is a good idea to upgrade it as well.

Thanks,

Sadiq

Thank you @Sadiq_Khoja !

Yes, I’m using a quite old version (v2.17.2) and must upgrade it, but no overrides.

:wink:

Cheers,

Robson

Hi, for me I found duplicate, I think created during updates: PGAPPNAME ===> Just comment (#) and it works!

  # 3. ODK default value.
  - PGHOST=${PGHOST-${DB_HOST:-postgres14}}
  - PGDATABASE=${PGDATABASE-${DB_NAME:-odk}}
  - PGUSER=${PGUSER-${DB_USER:-odk}}
  - PGPASSWORD=${PGPASSWORD-${DB_PASSWORD:-odk}}
  - PGAPPNAME=${PGAPPNAME-odkcentral}
  # End of libpq connection env var preparation.
  - DB_POOL_SIZE=${DB_POOL_SIZE:-10}
  - EMAIL_FROM=${EMAIL_FROM:-no-reply@$DOMAIN}
  - EMAIL_HOST=${EMAIL_HOST:-mail}
  - EMAIL_PORT=${EMAIL_PORT:-25}
  - EMAIL_SECURE=${EMAIL_SECURE:-false}
  - EMAIL_IGNORE_TLS=${EMAIL_IGNORE_TLS:-true}
  - EMAIL_USER=${EMAIL_USER:-}
  - EMAIL_PASSWORD=${EMAIL_PASSWORD:-}
  - OIDC_ENABLED=${OIDC_ENABLED:-false}
  - OIDC_ISSUER_URL=${OIDC_ISSUER_URL:-}
  - OIDC_CLIENT_ID=${OIDC_CLIENT_ID:-}
  - OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET:-}
  - PGAPPNAME=${PGAPPNAME:-odkcentral}
  - SENTRY_ORG_SUBDOMAIN=${SENTRY_ORG_SUBDOMAIN:-o130137}
  - SENTRY_KEY=${SENTRY_KEY:-xxxx}
  - SENTRY_PROJECT=${SENTRY_PROJECT:-1298632}
  - SENTRY_TRACE_RATE=${SENTRY_TRACE_RATE:-0.1}
  - S3_SERVER=${S3_SERVER:-}
  - S3_ACCESS_KEY=${S3_ACCESS_KEY:-}
  - S3_SECRET_KEY=${S3_SECRET_KEY:-}
  - S3_BUCKET_NAME=${S3_BUCKET_NAME:-}
  - SESSION_LIFETIME=${SESSION_LIFETIME:-86400}
1 Like