Command Info

Name: runcloud:migrate-webapp

Description: Migrate a webapp between RunCloud servers (DNS + Clone + SSL). MOCKUP for future UI.

Status: completed

Start Time: 2026-03-25 12:38:08

End Time: 2026-03-25 12:38:48

Total Time: 40 seconds

Dispatched Jobs Count: 0

Successful Jobs Count: 0

Failed Jobs Count: 0

Output

12:38:08 <fg=magenta;options=bold> Webapp Migration — RunCloud</>
12:38:08 <fg=cyan;options=bold> ━━━ Phase 1: Validation ━━━━━━━━━━━━━━━━━━━━━</>
12:38:08 <fg=gray>ℹ</> Searching for webapp...
12:38:08 <fg=green>✓</> Webapp: app-syumatsujp (ID: 2639344)
12:38:08 <fg=green>✓</> Source server: misshosting01 (185.139.128.88)
12:38:08 <fg=green>✓</> Destination server: Glesys ds11431 (46.21.98.114)
12:38:08 <fg=green>✓</> Domain: syumatsu.jp
12:38:08 <fg=gray>ℹ</> Checking nameservers...
12:38:08 <fg=yellow>⚠</> DNS skipped — unsupported provider: ns-113-b.gandi.net, ns-90-a.gandi.net, ns-139-c.gandi.net
12:38:08 <fg=yellow>⚠</> DNS provider: ns-113-b.gandi.net, ns-90-a.gandi.net, ns-139-c.gandi.net
12:38:08 <fg=yellow>⚠</> DNS integration skipped — update DNS manually after migration
12:38:08 <fg=green>✓</> No active migration found
12:38:08 <fg=gray>ℹ</> Current DNS: syumatsu.jp → 188.114.236.63
12:38:08 <fg=gray>ℹ</> Target market: Japan
12:38:08 <fg=gray>ℹ</> No market-specific IP — using least-used: 46.21.98.120 (quality: 64)
12:38:08 <fg=green>✓</> Target IP: 46.21.98.120 (quality: 64)
12:38:08 <options=bold>Domain</>: syumatsu.jp
12:38:08 <options=bold>Source</>: misshosting01 (185.139.128.88)
12:38:08 <options=bold>Destination</>: Glesys ds11431 (46.21.98.114)
12:38:08 <options=bold>DNS</>: 188.114.236.63 → 46.21.98.120
12:38:08 <fg=gray>Migration ID: 69c3d730580fc9e6880940a3</>
12:38:08 <fg=cyan;options=bold> ━━━ Phase 2: Update DNS ━━━━━━━━━━━━━━━━━━━━━</>
12:38:08 <fg=green>✓</> DNS skipped (--skip-dns) — update DNS manually to 46.21.98.120
12:38:08 <fg=cyan;options=bold> ━━━ Phase 3: Clone webapp ━━━━━━━━━━━━━━━━━━━━━</>
12:38:17 <fg=gray>ℹ</> Cloning webapp via RuncloudCloneService (SSH port 23033)...
12:38:28 <fg=gray>ℹ</> Clone is async, waiting for app to appear on destination...
12:38:38 <fg=gray>ℹ</> Polling for cloned app... attempt 1/60
12:38:43 <fg=green>✓</> Cloned app found: ID 2792255
12:38:43 <fg=green>✓</> Clone created! App ID: 2792255
12:38:43 <fg=cyan;options=bold> ━━━ Phase 4: Verify clone ━━━━━━━━━━━━━━━━━━━━━</>
12:38:43 <fg=gray>ℹ</> Verifying cloned app...
12:38:44 <fg=green>✓</> App exists: app-syumatsujp
12:38:45 <fg=green>✓</> Domain syumatsu.jp configured
12:38:45 <fg=cyan;options=bold> ━━━ Phase 5: Remove source ━━━━━━━━━━━━━━━━━━━━━</>
12:38:45 <fg=gray>ℹ</> Removing webapp from source server...
12:38:47 <fg=green>✓</> Webapp removed from source
12:38:47 <fg=cyan;options=bold> ━━━ Phase 6: Finalize ━━━━━━━━━━━━━━━━━━━━━</>
12:38:47 <fg=green>✓</> Website model updated
12:38:48 <fg=green>✓</> Success email sent
12:38:48 <fg=cyan;options=bold> ━━━ Phase 7: SSL (async) ━━━━━━━━━━━━━━━━━━━━━</>
12:38:48 <fg=green>✓</> SSL job dispatched (polling every 5min for 1h)
12:38:48 <fg=green;options=bold> ✅ Migration complete!</>
12:38:48 Migration ID: 69c3d730580fc9e6880940a3
12:38:48 SSL will be installed automatically once DNS propagates.