Running the Migration

Execute and monitor the Mylar3 to Comicarr migration.

The migration supports Preview (validate without changes) and Execute (full migration). Prefer the first-run onboarding wizard in the UI when your database is empty. The same operations are available over the REST API with a session cookie.

  1. Complete first-run admin setup.
  2. When the database is empty, open the migration/onboarding dialog.
  3. Point Comicarr at your Mylar3 data directory (Docker: mount at /mylar3).
  4. Run preview, then start, and watch progress in the wizard.

REST API

All of these require a valid comicarr_session cookie and the CSRF header on mutating methods.

# Login first
curl -c cookies.txt -X POST http://localhost:8090/api/auth/login \
  -H "Content-Type: application/json" \
  -H "X-Requested-With: ComicarrFrontend" \
  -d '{"username": "admin", "password": "your_password"}'
curl -b cookies.txt -X POST http://localhost:8090/api/system/migration/preview \
  -H "Content-Type: application/json" \
  -H "X-Requested-With: ComicarrFrontend" \
  -d '{"path": "/mylar3"}'

Preview reads the Mylar3 database and reports what will transfer without writing Comicarr data.

curl -b cookies.txt -X POST http://localhost:8090/api/system/migration/start \
  -H "Content-Type: application/json" \
  -H "X-Requested-With: ComicarrFrontend" \
  -d '{"path": "/mylar3"}'

Do not interrupt

Once started, avoid restarting the container until progress reports completion or failure.

curl -b cookies.txt http://localhost:8090/api/system/migration/progress

Poll until the migration reports a terminal status.

Step-by-Step

Run a preview

Validate the Mylar3 path and review row counts / warnings before committing.

Execute the migration

If the preview is clean, start the full migration from the UI or REST endpoint.

Monitor progress

Use the wizard UI or GET /api/system/migration/progress until finished.

Verify completion

Confirm series counts, credentials, and client connectivity (see Post-Migration).

Migration Order

Tables are migrated in dependency order to maintain referential integrity:

  1. comics (series must exist before issues)
  2. issues
  3. annuals
  4. snatched, nzblog, failed
  5. storyarcs, readlist
  6. weekly, rssdb
  7. upcoming, futureupcoming
  8. ddl_info, ref32p
  9. oneoffhistory, jobhistory

Atomic Transactions

Each table migration runs inside a database transaction. If migration fails, Comicarr aims to leave a consistent state — still keep your own Mylar3 backup.

Next Step

On this page