Written using Signal Server v5.51 in Ubuntu 18.04 x64
This guide is a WIP!
To run Signal server 5.xx out of the box / without substantial source modifications it requires it to be run in an AWS EC2 instance.
The EC2 instance must be given an associated IAM role.
Signal v5 uses a DynamicConfigurationManager to fetch config changes from an AWS AppConfig.
You must setup and deploy an AppConfig environment with the same parameters as the config file:
appConfig:
application: ...
environment:
configuration:
The EC2 IAM role must have a policy granting access to the AppConfig.
Signal v5 uses a number of DynamoDb tables. You must create these and put them in the config file, e.g.:
messageDynamoDb:
region: us-east-1
tableName: ...
Once again the EC2 IAM role must have a policy granting access to the tables.
- Git
- Maven
sudo apt update
sudo apt install git maven -y
Note that in v5.xx, there are a lot of new dependecies that didn't exist in older version.
- coTurn Server
- Redis
- PostgreSQL
- AWS DynamoDB
- AWS SQS
- AWS S3 Bucket
- AWS Cloudfront CDN
- Google Cloud Platform
- Twilio SMS & Voice
- Firebase
- Recaptcha v3
- Apple Push Notification
- Micrometer
- Fixer
- Clone
git clone https://github.com/signalapp/Signal-Server
cd Signal-Server
- Fetch dependencies
mvn dependency:go-offline
- Compile
mvn -e -B package
- Create config.yml, see example
Steps to run the server will be updated
This docker containers only support some dependency that can be run locally.
-
Copy
docker-compose.yml
-
Start the compose
docker-compose start -D
- Run the server with your config