25 lines
1.4 KiB
Markdown
25 lines
1.4 KiB
Markdown
# Controlled legacy deployment migration
|
|
|
|
`docker-compose.migration.yml` is an optional operator override after the base and
|
|
Unraid Compose files; it does not alter the default deployment. Follow the explicit
|
|
ProjectBrain `scripts/legacy-deployment-migration/` transaction, not a normal retry.
|
|
|
|
Every writable mount must be cold-cloned after the original container stops:
|
|
the anonymous `/config` volume, `/config/openrgb`, `/config/lumaops`, `/data` and
|
|
`/logs`. Required migration variables point only to those verified clones.
|
|
Original data, immutable image and container are retained for rollback.
|
|
|
|
The override requires immutable build metadata, an attempt-specific image and
|
|
container ownership label. Missing variables fail closed; missing mount sources
|
|
are not silently created. Preserve runtime environment and device/security settings.
|
|
Commit the new broker configuration only after verifying health, HTTP behavior
|
|
and the actual receipt. Never fabricate the old image's unknown source revision.
|
|
|
|
Real offline Compose rendering tests verify merged mounts and missing-variable
|
|
rejection. This file alone does not prove a completed production migration.
|
|
|
|
`MIGRATION_NETWORK` is mandatory and must preserve the inspected existing
|
|
`lumaops_default` network, overriding the normal Unraid bridge setting only for
|
|
this migration. Device bindings, capabilities, root filesystem protection,
|
|
security options and tmpfs are validated against the original before cutover.
|