/SMSWithoutBorders-docker-builds

Build and deploy SMSWithoutBorders microservices with docker

Primary LanguageMakefile

SMSWithoutBorders-docker-builds

Build and deploy SMSWithoutBorders microservices with docker

Configurations Runnig the make command would handle creating the default necessary dependencies

make

Instructions

  • Default environmental variables are found in the .env file

Running

Using a startup script

Most of the default variables have been configured in the .env file. It is safe to leave those as there are. See a list of required environment variables below.

You can create a copy of the startup-script.example for a .sh file in the root of the directory.

There is a .gitignore to ignore all .sh files.

Manually

You can manually run and start the images with the command below

required_envs
# Directory containing all the ssl/tls files (ca-bundle, crt, key)
SSL_FILE_PATH=

# tls certificate file (.crt)
SSL_CERTIFICATE=

# tls key file (.key)
SSL_KEY= 

# tls ca-bundle file (.ca-bundle)
SSL_PEM=

# The primary domain to be used by the Front-end and Back-end (without the protocol ie http or https)
SSL_SERVER_NAME= 

# Directory container json files for each third party platform
# Container should be able to read this files
# Steps on acquiring a Gmail credential file can be obtained from https://github.com/smswithoutborders/SMSWithoutBorders-Customized-Third-Party-Platforms/blob/main/SwobThirdPartyPlatforms/gmail/README.md 
# Steps on acquiring a Twitter credential file can be obtained from https://github.com/smswithoutborders/SMSWithoutBorders-Customized-Third-Party-Platforms/blob/main/SwobThirdPartyPlatforms/twitter/README.md 
# Steps on acquiring a Telegram credential file can be obtained from https://github.com/smswithoutborders/SMSWithoutBorders-Customized-Third-Party-Platforms/blob/main/SwobThirdPartyPlatforms/telegram/README.md
THIRD_PARTY_CREDENTIALS_PATH=

# Same as SSL_SERVER_NAME above
# If no SSL is intended, this can be used
HOST=

# Filepath to encrytion key Used for encrypting the data.
# Single file with single line with just the key in it
SHARED_KEY=

# Filepath to hashing salt used for the hashing the data
# Single file with single line with just the key in it
HASHING_SALT=

# MySQL creds
MYSQL_HOST=
MYSQL_USER=
MYSQL_PASSWORD=

# Used for all things 2FA
# Can be acquired from https://twilio.com 
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_SERVICE_SID=

# Can be acquired from https://www.google.com/recaptcha/
ENABLE_RECAPTCHA=
RECAPTCHA_SECRET_KEY=
RECAPTCHA_SITE_KEY=

# Can be the same as HOST. Ports are suppose to be different (as set by default)
GATEWAY_SERVER_HOST= 

# RabbitMQ configurations for publishing messages
# RabbitMQ user for management and user auth
RABBITMQ_DEFAULT_USER=

# RabbitMQ password for management and user auth
RABBITMQ_DEFAULT_PASS=

# Key to be used for encrypting messages between gateway server and publisher
PUBLISHER_ENCRYPTION_KEY=
manual_command
SSL_FILE_PATH= \
	SSL_SERVER_NAME= \
	SSL_CERTIFICATE= \
	SSL_KEY= \
	SSL_PEM= \
	THIRD_PARTY_CREDENTIALS_PATH= \
	HOST= \
	SHARED_KEY= \
	HASHING_SALT= \
	MYSQL_HOST= \
	MYSQL_USER= \
	MYSQL_PASSWORD= \
	TWILIO_ACCOUNT_SID= \
	TWILIO_AUTH_TOKEN= \
	TWILIO_SERVICE_SID= \
	ENABLE_RECAPTCHA= \
	RECAPTCHA_SECRET_KEY= \
	RECAPTCHA_SITE_KEY= \
	GATEWAY_SERVER_HOST= \
	RMQ_SSL= \
	RABBITMQ_DEFAULT_USER= \
	RABBITMQ_DEFAULT_PASS= \
	PUBLISHER_ENCRYPTION_KEY= \
	docker-compose --project-name smswithoutborders up -d --build