UCIDM パッケージ アップデート時の移行作業
UCIDM パッケージ のアップデート時に必要となる作業について記載しています。
- 1.8.0 (2025-10-14) から 1.9.0 (2026-03-11) へアップデートするときに必要となる作業
- 1.7.0 (2025-05-02) から 1.8.0 (2025-10-14) へアップデートするときに必要となる作業
- 1.5.0 (2025-01-10) から 1.7.0 (2025-05-02) へアップデートするときに必要となる作業
1.8.0 (2025-10-14) から 1.9.0 (2026-03-11) へアップデートするときに必要となる作業
MongoDB コンテナイメージの移行
- 既存データをバックアップする
$ docker compose exec mongo sh -c 'mongodump \
--authenticationDatabase=admin \
--port=$MONGODB_PORT_NUMBER \
--username="$MONGODB_ROOT_USER" \
--password="$MONGODB_ROOT_PASSWORD" \
--db=ucidm \
--archive' > $(date +%Y%m%d)-mongodb.dump
- compose サービスを停止する
$ docker compose down
- compose.yml の mongo サービスの設定を変更する
次の diff を参考に設定を変更します。移行前とデータが永続化される bind mounts volumes ディレクトリの場所が変更になっています。
$ vi compose.yml
mongo:
container_name: mongo
- image: docker.io/bitnamilegacy/mongodb:8.0.3
+ image: docker.io/osstech/mongodb:8.2.4
logging: *default-logging
volumes:
- type: bind
- source: ./mongodb
- target: /bitnami/mongodb
+ source: ./mongodb/db
+ target: /data/db
bind:
create_host_path: false
environment:
@@ -302,12 +302,9 @@ services:
MONGODB_ROOT_USER: "${MONGO_USER}"
MONGODB_ROOT_PASSWORD: "${MONGO_PASSWORD}"
MONGODB_PORT_NUMBER: "27017"
- MONGODB_INITIAL_PRIMARY_PORT_NUMBER: "27017"
MONGODB_ADVERTISED_HOSTNAME: "${MONGO_HOSTNAME}"
MONGODB_REPLICA_SET_NAME: "${MONGO_REPLICA_SET}"
- MONGODB_REPLICA_SET_MODE: "primary"
MONGODB_REPLICA_SET_KEY: "my/replication/common/key123"
- MONGODB_SYSTEM_LOG_VERBOSITY: 0
hostname: "${MONGO_HOSTNAME}"
compose.yml の変更後に構文チェックをしてエラーが発生しないことを確認します。
$ docker compose config 1>/dev/null
$ echo $?
0
- bind mounts volumes ディレクトリを作成する
$ rootlesskit mkdir -p mongodb/db/.mongodb
$ rootlesskit chown -R 999:999 mongodb/db
- 移行後の mongodb コンテナイメージで mongo サービスを起動する
$ docker compose up -V mongo
mongo サービスの初回起動時のみ、次のようなログを確認できます。
[HACK] start MongoDB for INITIALIZATION: --bind_ip 127.0.0.1 --port 27017 --tlsMode disabled --logpath /proc/1/fd/1 --logappend --pidfilepath /tmp/docker-entrypoint-temp-mongod.pid --fork
[HACK] original arguments for MongoDB: --bind_ip 127.0.0.1 --port 27017 --tlsMode disabled --logpath /proc/1/fd/1 --logappend --pidfilepath /tmp/docker-entrypoint-temp-mongod.pid --shutdown
[HACK] start MongoDB for initiating Replica Set: --fork --syslog --auth --bind_ip_all --port 27017 --replSet myrs --keyFile /keyfile
[HACK] start MongoDB for PRODUCTION USE: --auth --bind_ip_all --port 27017 --replSet myrs --keyFile /keyfile
- バックアップしたデータをリストアする
$ docker compose exec --interactive --no-TTY mongo bash -c 'mongorestore \
--authenticationDatabase=admin \
--port=$MONGODB_PORT_NUMBER \
--username="$MONGODB_ROOT_USER" \
--password="$MONGODB_ROOT_PASSWORD" \
--nsInclude="ucidm.*" \
--archive' < ./YYYYMMDD-mongodb.dump
データをリストアした後にコレクションのインデックスを設定します。インデックス作成がエラーになっていないかを確認します。エラーになった場合は別途インデックスの作成作業が必要になります。
- compose サービスを再起動する
$ docker compose down
$ docker compose up -d
サービス起動後、ID 連携管理画面でログインして既存データを確認します。
- 不要なデータを削除する
データ移行を正常に行えたことを確認した後、移行前のデータとバックアップデータを削除します。
$ rootlesskit rm -rf mongodb/data/
$ rm -f YYYYMMDD-mongodb.dump
Agent サービスの環境変数 PROTOCOL の削除
compose サービスを停止した状態で compose.yml の Agent サービスの設定から PROTOCOL の環境変数を削除します。
次の diff を参考にしてください。
$ vi compose.yml
agent-ldap:
...
environment:
TZ: "${TZ}"
#SSL_CERT_FILE: "${SSL_CERT_FILE}"
- PROTOCOL: "syncrepl"
PAGE_KEY_PATH: "${AGENT_PAGE_KEY_PATH}"
RELOAD_INTERVAL: "${AGENT_RELOAD_INTERVAL}"
API_HOST: "${API_HOST}"
1.7.0 (2025-05-02) から 1.8.0 (2025-10-14) へアップデートするときに必要となる作業
コンテナの環境変数からデータベースのシステム設定への移行
UCIDM API と Agent モジュール のサービス設定の環境変数をシステム設定へ移行する必要があります。
詳細は弊社のサポート担当者にご確認ください。
RabbitMQ 接続設定の変更
コンテナをアップグレードするときに compose サービスが停止した状態で compose.yml (ucidm.env) の環境変数を移行します。
UCIDM API と 外部連携モジュール のサービス設定の環境変数を次のように変更する必要があります。
environment:
- AMQP_URL: "${AMQP_URL}"
+ RABBITMQ_USER: "${RABBITMQ_USER}"
+ RABBITMQ_PASSWORD: "${RABBITMQ_PASSWORD}"
+ RABBITMQ_HOST: "${RABBITMQ_HOST}"
MongoDB コンテナイメージのリポジトリ変更
Upcoming changes to the Bitnami catalog (effective August 28th, 2025) により、MongoDB のコンテナイメージを取得するリポジトリを bitnamilegacy/mongodb へ変更する必要があります。
mongo:
- image: docker.io/bitnami/mongodb:8.0.3
+ image: docker.io/bitnamilegacy/mongodb:8.0.3
1.5.0 (2025-01-10) から 1.7.0 (2025-05-02) へアップデートするときに必要となる作業
bind mounts volume ディレクトリ配下の owner/permission の変更
compose サービスを停止します。
$ docker compose down
compose.yml の mongo サービスから user: root を削除する。
mongo:
container_name: mongo
- user: root
image: docker.io/bitnamilegacy/mongodb:8.0.3
コンテナ内のアプリケーションを uid=1001 のユーザーが実行するように変更されたため、そのホスト上でのディレクトリやファイルの owner/permission を変更する必要があります。
subuid の設定を確認します。
$ cat /etc/subuid
ucidm:100000:65536
subuid が 100000 からマッピングする設定の場合はホスト上では uid=101000 (100000 + 1001 - 1) としてマッピングされます。compose.yml を配置している次の3つのディレクトリの owner/permission を変更します。
- mongodb
- agent-data
- server-data
$ rootlesskit chown -R 1001:0 mongodb server-data agent-data
compose サービスを開始して正常に動作することを確認します。
$ docker compose up -d