Cannot login after moving from one VPS to another

Hi everyone, I moved my website from one VPS to another. I am deploying via Docker Compose[1]. I backed up and restored the contents using tarball and rsync. The website seems to be back up and functioning normally, apart from the authorisation, which takes quite a while before it shows the message “There was a problem on the server.”

Here is a logging excerpt from the time when I tried to authenticate. Any and every help is deeply appreciated. Please feel free to ask me if more information is needed on this. Thanks in advance and happy new year!

[2026-01-05 05:29:14] WARN Ghost is shutting down
[2026-01-05 05:29:21] WARN Ghost has shut down
[2026-01-05 05:29:21] WARN Your site is now offline
[2026-01-05 05:29:21] WARN Ghost was running for 16 minutes
[2026-01-05 05:29:21] INFO "POST /ghost/api/admin/session" 200 60006ms
[2026-01-05 05:29:22] INFO Ghost is running in production...
[2026-01-05 05:29:22] INFO Your site is now available on https://gridhead.net/
[2026-01-05 05:29:22] INFO Ctrl+C to shut down
[2026-01-05 05:29:22] INFO Ghost server started in 0.376s
[2026-01-05 05:29:22] INFO Database is in a ready state.
[2026-01-05 05:29:22] INFO Ghost database ready in 0.585s
[2026-01-05 05:29:22] WARN Missing mail.from config, falling back to a generated email address. Please update your config file and set a valid from address
[2026-01-05 05:29:23] INFO Invalidating assets for regeneration
[2026-01-05 05:29:23] INFO Adding offloaded job to the inline job queue
[2026-01-05 05:29:23] INFO Scheduling job mentions-email-report at 8 18 * * * *. Next run on: Mon Jan 05 2026 06:18:08 GMT+0000 (Coordinated Universal Time)
[2026-01-05 05:29:23] INFO [EmailAnalytics] Initialized with SEQUENTIAL processing mode
[2026-01-05 05:29:24] INFO Pinging Explore with Payload https://explore.ghost.org/api/update {"ghost":"6.10.3","site_uuid":"58670777-18af-4c94-b4e8-00efd2b8ed25","url":"https://gridhead.net","theme":"journal","facebook":null,"twitter":"@gridheader","posts_total":99,"posts_last":"2025-12-01T18:30:12.000Z","posts_first":"2023-06-27T18:30:00.000Z"}
[2026-01-05 05:29:24] INFO Adding offloaded job to the inline job queue
[2026-01-05 05:29:24] INFO Scheduling job clean-expired-comped at 37 38 1 * * *. Next run on: Tue Jan 06 2026 01:38:37 GMT+0000 (Coordinated Universal Time)
[2026-01-05 05:29:24] INFO Adding offloaded job to the inline job queue
[2026-01-05 05:29:24] INFO Scheduling job clean-tokens at 3 7 14 * * *. Next run on: Mon Jan 05 2026 14:07:03 GMT+0000 (Coordinated Universal Time)
[2026-01-05 05:29:24] INFO Ghost booted in 2.094s
[2026-01-05 05:29:24] INFO Adding offloaded job to the inline job queue
[2026-01-05 05:29:24] INFO Scheduling job update-check at 2 6 7 * * *. Next run on: Mon Jan 05 2026 07:06:02 GMT+0000 (Coordinated Universal Time)
[2026-01-05 05:29:24] INFO Running milestone emails job on Mon Jan 05 2026 05:29:24 GMT+0000 (Coordinated Universal Time)
[2026-01-05 05:29:24] INFO URL Service ready in 1293ms
[2026-01-05 05:29:25] INFO Explore Response 200 OK
[2026-01-05 05:29:26] INFO Checking ActivityPub Webhook state
[2026-01-05 05:29:26] INFO ActivityPub webhooks in correct state
[2026-01-05 05:29:54] INFO Updating incoming recommendations on boot
[2026-01-05 05:29:58] INFO "GET /ghost/" 200 52ms
[2026-01-05 05:29:58] INFO "GET /ghost/assets/vendor-0ede59da8efb5e28fa929557f7ff7154.css" 200 12ms
[2026-01-05 05:29:58] INFO "GET /ghost/assets/chunk.524.875fd77f1e974e892ea9.js" 200 10ms
[2026-01-05 05:29:58] INFO "GET /ghost/assets/videos/logo-loader-d91f93ba1dbf0f52a22815b5a571bd31.mp4" 206 7ms
[2026-01-05 05:29:58] INFO "GET /ghost/assets/ghost-192beb3c8f2f6e58b70d3aade481ae15.css" 200 67ms
[2026-01-05 05:29:58] INFO "GET /ghost/assets/ghost-9d2d1c537e82d202e1ea6e2702af1f91.js" 200 101ms
[2026-01-05 05:29:58] INFO "GET /ghost/assets/vendor-aed0068cf9b67d042dd23a6343545b7b.js" 200 127ms
[2026-01-05 05:29:58] INFO "GET /ghost/assets/chunk.397.a720333cfffc99c47e71.js" 200 160ms
[2026-01-05 05:29:58] INFO "GET /ghost/assets/vendor-326b46cbc2845d47f1e0af43ba21caec.map" 404 5ms
NotFoundError: Page not found
[2026-01-05 05:29:58] INFO "GET /ghost/assets/chunk.397.a720333cfffc99c47e71.map" 404 2ms
NotFoundError: Page not found
[2026-01-05 05:29:58] INFO "GET /ghost/assets/chunk.524.875fd77f1e974e892ea9.map" 404 4ms
NotFoundError: Page not found
[2026-01-05 05:29:58] INFO "GET /ghost/assets/ghost-9758fd4843ca78cb22639b7f8ef510ae.map" 404 5ms
NotFoundError: Page not found
[2026-01-05 05:29:59] ERROR "GET /ghost/api/admin/users/me/?include=roles" 403 122ms

Authorization failed

"Unable to determine the authenticated user or integration. Check that cookies are being passed through if using session authentication."

Error ID:
    939c18c0-e9f7-11f0-8cd1-a59828ca5d58

----------------------------------------

NoPermissionError: Authorization failed
    at authorizeAdminApi (/var/lib/ghost/versions/6.10.3/core/server/services/auth/authorize.js:33:25)
    at Layer.handle [as handle_request] (/var/lib/ghost/versions/6.10.3/node_modules/express/lib/router/layer.js:95:5)
    at next (/var/lib/ghost/versions/6.10.3/node_modules/express/lib/router/route.js:149:13)
    at authenticate (/var/lib/ghost/versions/6.10.3/core/server/services/auth/session/middleware.js:55:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)

[2026-01-05 05:29:59] INFO "GET /ghost/assets/img/favicon-a9c6dbdcdc3ae568f4e0dad92149a0e3.ico" 200 3ms
[2026-01-05 05:29:59] INFO "GET /ghost/api/admin/site/" 200 4ms
[2026-01-05 05:29:59] INFO "GET /ghost/api/admin/authentication/setup/" 200 20ms
[2026-01-05 05:29:59] INFO "GET /ghost/assets/fonts/Inter-roman.var-66c6e40883646a7ad993108b2ce2da32.woff2" 200 7ms
[2026-01-05 05:29:59] INFO "GET /content/images/2023/08/00007-492027117-1.png" 200 371ms
[2026-01-05 05:30:00] INFO "GET /ghost/assets/admin-x-settings/admin-x-settings.js?v=43294bb169" 200 4ms
[2026-01-05 05:30:00] INFO "GET /ghost/assets/admin-x-settings/index-dVyfAn__.mjs" 200 169ms
[2026-01-05 05:30:00] INFO "GET /ghost/assets/admin-x-settings/index-CgJ7inWq.mjs" 200 9ms
[2026-01-05 05:30:00] INFO "GET /ghost/assets/admin-x-settings/admin-x-settings.js.map" 404 2ms
[2026-01-05 05:30:00] INFO "GET /ghost/assets/admin-x-settings/index-dVyfAn__.mjs.map" 404 3ms
NotFoundError: Page not found
NotFoundError: Page not found
[2026-01-05 05:30:00] INFO "GET /ghost/assets/admin-x-settings/index-CgJ7inWq.mjs.map" 404 1ms
NotFoundError: Page not found
[2026-01-05 05:30:13] WARN Missing mail.from config, falling back to a generated email address. Please update your config file and set a valid from address
[2026-01-05 05:30:13] WARN Missing mail.from config, falling back to a generated email address. Please update your config file and set a valid from address
[2026-01-05 05:31:12] INFO "POST /ghost/api/admin/session" 200 60044ms
[2026-01-05 05:35:48] INFO [Recommendations] Updating recommendations metadata
[2026-01-05 05:35:54] ERROR Response code 404 (Not Found)

Response code 404 (Not Found)

Error Code:
    ERR_NON_2XX_3XX_RESPONSE

----------------------------------------

HTTPError: Response code 404 (Not Found)
    at Request.<anonymous> (/var/lib/ghost/versions/6.10.3/node_modules/got/dist/source/as-promise/index.js:118:42)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)

  1. https://gitlab.com/gridhead/frontier/-/blob/main/apexaltruism.net/compconf.template.j2?ref_type=heads ↩︎

Hello there, it is me again. I followed a similar thread that brought me to this issue comment[1], which had the workaround I went back to my compose configuration, and I was finally able to make it into the admin panel. Thanks!


  1. ↩︎

1 Like