signald
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Servers

signald can use any server desired. Signal’s production and staging servers are pre-loaded, but additional servers can be added via the client protocol. The v1 generate_linking_uri and register request types have a server field, which (if set) will be used to select a server by UUID.

Pre-Loaded Servers

These servers come pre-loaded in signald:

  • Signal Production (6e2eb5a8-5706-45d0-8377-127a816411a4) default unless changed at build time
  • Signal Staging (97c17f0c-e53b-426f-8ffa-c052d4183f83) preferred for testing. Signal states that it has lower rate limits.

Custom Servers

There are two ways to add a new server:

Socket Protocol

add_server can be used to add new servers via the socket protocol. Additionally, get_servers and delete_server can be used to list and delete servers (including the preloaded ones).

Compile Time Configuration

All of the server parameters can also be specified during compile time by setting environment variables. The full list can be found in build.gradle. Make sure to set environment variable DEFAULT_SERVER_UUID to a UUID that is not currently in use by any server. The build time server will only be used if the specified UUID (or DEFAULT_SERVER_UUID if unspecified) is not found in the database. When that happens, the values will be copied into the database.