Deutsch | English
Migration Service
The Romexis Migration Service helps migrate an existing Romexis installation into the Docker-based Romexis Server stack.
It provides:
- Flask Web UI
- REST API
- temporary SFTP users
- migration job state tracking
- database backup upload
- manifest creation
- upload validation
- restore orchestration
- final completion/cancellation workflow
Why a Migration Service?
Romexis installations can contain:
- large SQL Server backups
- large image directories
- ergo data directories
- cache directories
- many small files
Browser uploads alone are not ideal for this. Therefore the migration service combines:
Web UI / API
for orchestration and state
SFTP
for large file and directory transfer
Migration Job State
Migration jobs are stored as JSON state files.
Typical workflow:
created
-> database_uploaded
-> database_restored
-> upload_complete
-> validated
-> restored
-> completed
Final states:
completed
cancelled
failed
SFTP User Lifecycle
The service creates one temporary SFTP user per active migration.
Important behavior:
- active jobs recreate SFTP users on service startup
- completed jobs should not recreate SFTP users
- cancelled jobs should not recreate SFTP users
- failed jobs should not recreate SFTP users unless intentionally reactivated
- completing or cancelling a job removes or disables the temporary SFTP access
Manual Browser Workflow
- Create migration job in the Web UI.
- Upload database backup through the browser.
- The service creates
manifest.jsonautomatically. - Trigger database restore.
- Upload file directories through SFTP.
- Mark upload as complete.
- Validate upload.
- Run restore.
- Complete migration and remove SFTP access.
SFTP Upload
The Web UI shows the SFTP credentials and example commands.
Typical rclone setup:
rclone config create romexis-migration sftp \
host <host> \
port <port> \
user <username> \
pass "$(rclone obscure '<password>')"
Upload images:
rclone sync "/PATH/TO/LOCAL/romexis_images" \
"romexis-migration:/romexis_images" \
--progress \
--transfers 4 \
--checkers 8
Upload ergo data:
rclone sync "/PATH/TO/LOCAL/romexis_ergodata" \
"romexis-migration:/romexis_ergodata" \
--progress \
--transfers 4 \
--checkers 8
Optional cache upload:
rclone sync "/PATH/TO/LOCAL/romexis_cache" \
"romexis-migration:/romexis_cache" \
--progress \
--transfers 4 \
--checkers 8
Restart Coordination
The migration service and Romexis container coordinate restarts using a shared state file:
/data/romexis_images/.romexis_restart_state
The migration service writes a pending restart request.
The Romexis entrypoint/process observes the state, restarts the Romexis service and writes the result.
The migration service reads the result and removes the state file.
Romexis Docker Wiki
English
Getting Started
- Project Overview
- Architecture
- Quick Start
- Synology Quick Start
- Use with Docker + WSL in Windows
- Compose Runtime
- Configuration
- Container Images
Runtime Services
- Romexis Admin
- Romexis Client
- mRomexis Web App
- Runtime Layout
- Backup and Restore
- Troubleshooting
- Security
Build System
Database
Migration
Development
Source Documents
Deutsch
Erste Schritte
- Projektübersicht
- Architektur
- Schnellstart
- Synology Quick Start
- Nutzung mit Docker + WSL unter Windows
- Compose-Runtime
- Konfiguration
- Container-Images
Runtime-Dienste
- Romexis Admin
- Romexis Client
- mRomexis Web App
- Runtime-Layout
- Sicherung und Wiederherstellung
- Fehlerbehebung
- Sicherheit
Build-System
Datenbank
Migration
Entwicklung
Quelldokumente
Romexis Docker Project Wiki / Romexis-Docker-Projekt-Wiki
English Home · Deutsche Startseite · English source documents · Deutsche Quelldokumente · Security · Sicherheit
Internal operations and development wiki / Internes Betriebs- und Entwicklungswiki