Skip to content

Docker Setup (Got token response: 503) #2154

@SuitDeer

Description

@SuitDeer

Hello everyone,
i want to host my own syncstorage-rs Server with docker.

I have setup the docker stack with this setup instructions: https://mozilla-services.github.io/syncstorage-rs/how-to/how-to-run-with-docker.html#docker-compose-one-shot-with-postgresql

Under Firefox desktop about:sync-log I now get the following error:

Here is my Firefox sync log about:sync-log:

1774270548343	Sync.Service	DEBUG	User-Agent: Firefox/148.0.2 (Linux x86_64) FxSync/1.150.0.20260309231353.desktop
1774270548343	Sync.Service	INFO	Starting sync at 2026-03-23 13:55:48 in browser session jabpmONm3WE4
1774270548343	Sync.Service	DEBUG	In sync: should login.
1774270548343	Sync.Service	INFO	User logged in successfully - verifying login.
1774270548343	FirefoxAccounts	DEBUG	FxAccountsProfileClient: Requested profile
1774270548343	FirefoxAccounts	DEBUG	getOAuthToken enter
1774270548343	FirefoxAccounts	TRACE	getCachedToken returning cached token
1774270548343	FirefoxAccounts	DEBUG	getOAuthToken returning a cached token
1774270548343	Sync.SyncAuthManager	DEBUG	unlockAndVerifyAuthState already has (or can fetch) sync keys
1774270548344	Services.Common.RESTRequest	DEBUG	GET request to https://profile.accounts.firefox.com/v1/profile
1774270548344	Sync.Status	DEBUG	Status.login: error.login.reason.network => success.status_ok
1774270548344	Sync.Status	DEBUG	Status.service: error.login.failed => error.login.failed
1774270548344	Sync.Service	DEBUG	Fetching unlocked auth state returned success.status_ok
1774270548344	Sync.SyncAuthManager	INFO	Getting sync key
1774270548344	FirefoxAccounts	DEBUG	getOAuthToken enter
1774270548344	FirefoxAccounts	TRACE	getCachedToken returning cached token
1774270548344	FirefoxAccounts	DEBUG	getOAuthToken returning a cached token
1774270548345	Sync.SyncAuthManager	INFO	Getting a sync token from: https://syncstorage.hostlab.tech/1.0/sync/1.5
1774270548345	Sync.SyncAuthManager	DEBUG	Getting a token using OAuth
1774270548345	Services.Common.TokenServerClient	DEBUG	Beginning OAuth token exchange: https://syncstorage.hostlab.tech/1.0/sync/1.5
1774270548345	Services.Common.RESTRequest	DEBUG	GET request to https://syncstorage.hostlab.tech/1.0/sync/1.5
1774270548607	Services.Common.RESTRequest	DEBUG	GET https://profile.accounts.firefox.com/v1/profile 304
1774270548607	Services.Common.RESTRequest	DEBUG	GET https://syncstorage.hostlab.tech/1.0/sync/1.5 503
1774270548608	Services.Common.TokenServerClient	DEBUG	Got token response: 503
1774270548608	Services.Common.TokenServerClient	INFO	Server-reported error: {"location":"internal","name":"","description":"Unexpected error: unable to get a node"}
1774270548608	Sync.SyncAuthManager	ERROR	Non-authentication error in _fetchTokenForUser: TokenServerClientServerError({"now":"2026-03-23T12:55:48.608Z","message":"Server error.","cause":"general","response_body":"{\"status\":\"internal-error\",\"errors\":[{\"location\":\"internal\",\"name\":\"\",\"description\":\"Unexpected error: unable to get a node\"}]}","response_headers":{"server":"openresty","date":"Mon, 23 Mar 2026 12:55:48 GMT","content-type":"application/json","content-length":"127","connection":"keep-alive","vary":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers","x-weave-timestamp":"1774270548.36"},"response_status":503})(resource://services-common/tokenserverclient.sys.mjs:28:36) JS Stack trace: [email protected]:90:16
[email protected]:306:19
[email protected]:239:19
1774270548608	Sync.Status	DEBUG	Status.login: success.status_ok => error.login.reason.network
1774270548608	Sync.Status	DEBUG	Status.service: error.login.failed => error.login.failed
1774270548608	Sync.SyncAuthManager	INFO	Failed to fetch the cluster URL: TokenServerClientServerError({"now":"2026-03-23T12:55:48.608Z","message":"Server error.","cause":"general","response_body":"{\"status\":\"internal-error\",\"errors\":[{\"location\":\"internal\",\"name\":\"\",\"description\":\"Unexpected error: unable to get a node\"}]}","response_headers":{"server":"openresty","date":"Mon, 23 Mar 2026 12:55:48 GMT","content-type":"application/json","content-length":"127","connection":"keep-alive","vary":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers","x-weave-timestamp":"1774270548.36"},"response_status":503})(resource://services-common/tokenserverclient.sys.mjs:28:36) JS Stack trace: [email protected]:90:16
[email protected]:306:19
[email protected]:239:19
1774270548608	Sync.Service	DEBUG	verifyLogin failed: TokenServerClientServerError({"now":"2026-03-23T12:55:48.608Z","message":"Server error.","cause":"general","response_body":"{\"status\":\"internal-error\",\"errors\":[{\"location\":\"internal\",\"name\":\"\",\"description\":\"Unexpected error: unable to get a node\"}]}","response_headers":{"server":"openresty","date":"Mon, 23 Mar 2026 12:55:48 GMT","content-type":"application/json","content-length":"127","connection":"keep-alive","vary":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers","x-weave-timestamp":"1774270548.36"},"response_status":503})(resource://services-common/tokenserverclient.sys.mjs:28:36) JS Stack trace: [email protected]:90:16
[email protected]:306:19
[email protected]:239:19
1774270548608	Sync.Status	DEBUG	Status.login: error.login.reason.network => error.login.reason.network
1774270548608	Sync.Status	DEBUG	Status.service: error.login.failed => error.login.failed
1774270548608	Sync.ErrorHandler	ERROR	Sync encountered a login error
1774270548608	Sync.SyncScheduler	DEBUG	Clearing sync triggers and the global score.
1774270548609	Sync.SyncScheduler	DEBUG	Next sync in 3600000 ms. (why=schedule)
1774270548610	Sync.Service	DEBUG	Exception calling WrappedLock: Error: Login failed: error.login.reason.network(resource://services-sync/service.sys.mjs:1061:15) JS Stack trace: [email protected]:1061:15
1774270548610	FirefoxAccounts	TRACE	not checking freshness of profile as it remains recent
1774270548610	Sync.Service	DEBUG	Not syncing: login returned false.
1774270548610	FirefoxAccounts	TRACE	not checking freshness of profile as it remains recent

Impotent part of the Log (I think):

1774270548608	Services.Common.TokenServerClient	DEBUG	Got token response: 503
1774270548608	Services.Common.TokenServerClient	INFO	Server-reported error: {"location":"internal","name":"","description":"Unexpected error: unable to get a node"}
1774270548608	Sync.SyncAuthManager	ERROR	Non-authentication error in _fetchTokenForUser: TokenServerClientServerError({"now":"2026-03-23T12:55:48.608Z","message":"Server error.","cause":"general","response_body":"{\"status\":\"internal-error\",\"errors\":[{\"location\":\"internal\",\"name\":\"\",\"description\":\"Unexpected error: unable to get a node\"}]}","response_headers":{"server":"openresty","date":"Mon, 23 Mar 2026 12:55:48 GMT","content-type":"application/json","content-length":"127","connection":"keep-alive","vary":"Origin, Access-Control-Request-Method, Access-Control-Request-Headers","x-weave-timestamp":"1774270548.36"},"response_status":503})(resource://services-common/tokenserverclient.sys.mjs:28:36) JS Stack trace: [email protected]:90:16
[email protected]:306:19
[email protected]:239:19

Is the documentation still up to date?

Because in the docker-compose.yaml (Code block) on the documentation page is pointing the SYNC_SYNCSTORAGE__DATABASE_URL and SYNC_TOKENSERVER__DATABASE_URL to the same postgres database.

I have also seen elsewhere that you need to first manually create a database and some tabels. But in the official documentation it is not showing it how it is done.

┆Issue is synchronized with this Jira Task

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions