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.
register request types have a
field, which (if set) will be used to select a server by UUID.
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.
There are two ways to add a new server:
add_server can be used to add new servers via the socket protocol. Additionally,
delete_server can be used to list and delete servers (including the preloaded ones).
All of the server parameters can also be specified during compile time by setting environment variables. The full list can be found
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
DEFAULT_SERVER_UUID if unspecified) is not found in the database. When that happens, the values will be copied into the database.