Clone
5
Migration Workflow
Patrick Gniza edited this page 2026-08-17 10:48:39 +02:00

Deutsch | English

Migration Workflow

This page describes the target migration workflow from an existing Romexis server into the Docker-based Romexis stack.


Source System

The source system is usually a Windows-based Romexis server.

Required data:

SQL Server database backup (.bak)
Romexis image directory
Romexis ergo data directory
optional Romexis cache directory

The cache directory is optional because it can usually be regenerated.


Target System

The target system runs:

Romexis Server container
Database backend container
Migration Service container
Persistent data volumes

Workflow Overview

Existing Romexis Server
        |
        | database backup
        | image data
        | ergo data
        v
Romexis Migration Service
        |
        | validation
        | database restore
        | data restore
        v
Docker-based Romexis Server

Manual Workflow

  1. Open the migration Web UI.
  2. Create a new migration job.
  3. Upload the database backup in the browser.
  4. Let the service create manifest.json.
  5. Trigger database restore.
  6. Upload images and ergo data via SFTP.
  7. Mark upload complete.
  8. Validate uploaded data.
  9. Run restore.
  10. Complete migration.
  11. SFTP credentials are removed or disabled.

Client-Assisted Workflow

The migration client is intended to automate most source-side steps:

  1. detect Romexis installation
  2. detect database configuration
  3. detect data directories
  4. create or use a migration job
  5. create database backup
  6. upload data through rclone/SFTP
  7. call API endpoints to advance the workflow
  8. show logs and restore status

Expected Upload Layout

/upload/
├── meta/
│   └── manifest.json
├── database/
│   └── Romexis_db.bak
├── romexis_images/
├── romexis_ergodata/
└── romexis_cache/

Manifest

The manifest describes the uploaded migration data.

Example:

{
  "migration_id": "example",
  "name": "Example Migration",
  "source_host": "old-romexis-server",
  "database": {
    "backup": "database/Romexis_db.bak"
  },
  "romexis_images": true,
  "romexis_ergodata": true,
  "romexis_cache": false
}

The manual browser workflow can generate this automatically after database upload.


Validation

Validation should check:

  • manifest exists
  • database backup exists
  • image directory exists
  • ergo data directory exists
  • optional cache directory exists if requested
  • file counts
  • total bytes
  • future checksum data

Restore

The restore step performs or coordinates:

  1. database restore
  2. file placement into target volumes
  3. permission fixes
  4. Romexis restart
  5. final status reporting

Completion

After successful restore, the job should be marked completed.

Completion should:

  • remove or disable temporary SFTP user
  • hide workflow action buttons
  • keep logs available
  • preserve migration state file for audit/debugging