Change docker images tags & build images in source folders

This commit is contained in:
Theo 2023-07-13 11:02:05 -07:00
parent 3b6289bf2c
commit d709b49204
3 changed files with 420 additions and 408 deletions

4
.gitignore vendored Normal file

@ -0,0 +1,4 @@
node_modules
.env
.env*

@ -1,459 +1,458 @@
version: '2' version: "2"
services: services:
redis:
image: redis
restart: always
command: [redis-server, --appendonly, "yes"]
volumes:
- redis:/data
redis: nginx:
image: redis image: nginx:alpine
restart: always container_name: nginx
command: [ redis-server, --appendonly, 'yes' ] restart: always
volumes: ports:
- redis:/data - 80:80
- 443:443
volumes:
- conf:/etc/nginx/conf.d
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- certs:/etc/nginx/certs
logging:
driver: none
nginx: dockergen:
image: nginx:alpine image: poma/docker-gen
container_name: nginx container_name: dockergen
restart: always restart: always
ports: command: -notify-sighup nginx -watch /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
- 80:80 volumes_from:
- 443:443 - nginx
volumes: volumes:
- conf:/etc/nginx/conf.d - /var/run/docker.sock:/var/run/docker.sock:ro
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- certs:/etc/nginx/certs
logging:
driver: none
dockergen: letsencrypt:
image: poma/docker-gen image: jrcs/letsencrypt-nginx-proxy-companion
container_name: dockergen container_name: letsencrypt
restart: always restart: always
command: -notify-sighup nginx -watch /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf environment:
volumes_from: NGINX_DOCKER_GEN_CONTAINER: dockergen
- nginx volumes_from:
volumes: - nginx
- /var/run/docker.sock:/var/run/docker.sock:ro - dockergen
letsencrypt: # ---------------------- ETH Mainnet ----------------------- #
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt
restart: always
environment:
NGINX_DOCKER_GEN_CONTAINER: dockergen
volumes_from:
- nginx
- dockergen
# ---------------------- ETH Mainnet ----------------------- # eth-server:
build: .
image: tornadocash/relayer:mainnet-v4
profiles: ["eth"]
restart: always
command: server
env_file: .env.eth
environment:
NET_ID: 1
REDIS_URL: redis://redis/0
nginx_proxy_read_timeout: 600
depends_on: [redis]
eth-server: eth-treeWatcher:
build: . image: tornadocash/relayer:mainnet-v4
image: tornadorelayer:mainnet profiles: ["eth"]
profiles: [ 'eth' ] restart: always
restart: always command: treeWatcher
command: server env_file: .env.eth
env_file: .env.eth environment:
environment: NET_ID: 1
NET_ID: 1 REDIS_URL: redis://redis/0
REDIS_URL: redis://redis/0 depends_on: [redis, eth-server]
nginx_proxy_read_timeout: 600
depends_on: [ redis ]
eth-treeWatcher: eth-priceWatcher:
image: tornadorelayer:mainnet image: tornadocash/relayer:mainnet-v4
profiles: [ 'eth' ] profiles: ["eth"]
restart: always restart: always
command: treeWatcher command: priceWatcher
env_file: .env.eth env_file: .env.eth
environment: environment:
NET_ID: 1 NET_ID: 1
REDIS_URL: redis://redis/0 REDIS_URL: redis://redis/0
depends_on: [ redis, eth-server ] depends_on: [redis, eth-server]
eth-priceWatcher: eth-healthWatcher:
image: tornadorelayer:mainnet image: tornadocash/relayer:mainnet-v4
profiles: [ 'eth' ] profiles: ["eth"]
restart: always restart: always
command: priceWatcher command: healthWatcher
env_file: .env.eth env_file: .env.eth
environment: environment:
NET_ID: 1 NET_ID: 1
REDIS_URL: redis://redis/0 REDIS_URL: redis://redis/0
depends_on: [ redis, eth-server ] depends_on: [redis, eth-server]
eth-healthWatcher: eth-worker1:
image: tornadorelayer:mainnet image: tornadocash/relayer:mainnet-v4
profiles: [ 'eth' ] profiles: ["eth"]
restart: always restart: always
command: healthWatcher command: worker
env_file: .env.eth env_file: .env.eth
environment: environment:
NET_ID: 1 NET_ID: 1
REDIS_URL: redis://redis/0 REDIS_URL: redis://redis/0
depends_on: [ redis, eth-server ] depends_on: [redis, eth-server]
eth-worker1: # # This is additional worker for ethereum mainnet
image: tornadorelayer:mainnet # # So you can process transactions from multiple addresses, but before it you need to set up those addresses as workers
profiles: [ 'eth' ] # eth-worker2:
restart: always # image: tornadorelayer:mainnet
command: worker # profiles: [ 'eth' ]
env_file: .env.eth # restart: always
environment: # command: worker
NET_ID: 1 # env_file: .env2.eth
REDIS_URL: redis://redis/0 # environment:
depends_on: [ redis, eth-server ] # REDIS_URL: redis://redis/0
# # This is additional worker for ethereum mainnet # # this container will proxy *.onion domain to the server container
# # So you can process transactions from multiple addresses, but before it you need to set up those addresses as workers # # if you want to run *only* as .onion service, you don't need `nginx`, `letsencrypt`, `dockergen` containers
# eth-worker2: # tor:
# image: tornadorelayer:mainnet # image: strm/tor
# profiles: [ 'eth' ] # restart: always
# restart: always # depends_on: [server]
# command: worker # environment:
# env_file: .env2.eth # LISTEN_PORT: 80
# environment: # REDIRECT: server:8000
# REDIS_URL: redis://redis/0 # # Generate a new key with
# # docker run --rm --entrypoint shallot strm/tor-hiddenservice-nginx ^foo
# PRIVATE_KEY: |
# -----BEGIN RSA PRIVATE KEY-----
# ...
# -----END RSA PRIVATE KEY-----
# # this container will proxy *.onion domain to the server container # # auto update docker containers when new image is pushed to docker hub (be careful with that)
# # if you want to run *only* as .onion service, you don't need `nginx`, `letsencrypt`, `dockergen` containers # watchtower:
# tor: # image: v2tec/watchtower
# image: strm/tor # restart: always
# restart: always # volumes:
# depends_on: [server] # - /var/run/docker.sock:/var/run/docker.sock
# environment:
# LISTEN_PORT: 80
# REDIRECT: server:8000
# # Generate a new key with
# # docker run --rm --entrypoint shallot strm/tor-hiddenservice-nginx ^foo
# PRIVATE_KEY: |
# -----BEGIN RSA PRIVATE KEY-----
# ...
# -----END RSA PRIVATE KEY-----
# # auto update docker containers when new image is pushed to docker hub (be careful with that) # # this container will send Telegram notifications when other containers are stopped/restarted
# watchtower: # # it's best to run this container on some other instance, otherwise it can't notify if the whole instance goes down
# image: v2tec/watchtower # notifier:
# restart: always # image: poma/docker-telegram-notifier
# volumes: # restart: always
# - /var/run/docker.sock:/var/run/docker.sock # volumes:
# - /var/run/docker.sock:/var/run/docker.sock:ro
# environment:
# # How to create bot: https://core.telegram.org/bots#3-how-do-i-create-a-bot
# # How to get chat id: https://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id/32572159#32572159
# TELEGRAM_NOTIFIER_BOT_TOKEN: ...
# TELEGRAM_NOTIFIER_CHAT_ID: ...
# # this container will send Telegram notifications when other containers are stopped/restarted # # this container will send Telegram notifications if specified address doesn't have enough funds
# # it's best to run this container on some other instance, otherwise it can't notify if the whole instance goes down # monitor_mainnet:
# notifier: # image: peppersec/monitor_eth
# image: poma/docker-telegram-notifier # restart: always
# restart: always # environment:
# volumes: # TELEGRAM_NOTIFIER_BOT_TOKEN: ...
# - /var/run/docker.sock:/var/run/docker.sock:ro # TELEGRAM_NOTIFIER_CHAT_ID: ...
# environment: # ADDRESS: '0x0000000000000000000000000000000000000000'
# # How to create bot: https://core.telegram.org/bots#3-how-do-i-create-a-bot # THRESHOLD: 0.5 # ETH
# # How to get chat id: https://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id/32572159#32572159 # RPC_URL: https://mainnet.infura.io
# TELEGRAM_NOTIFIER_BOT_TOKEN: ... # BLOCK_EXPLORER: etherscan.io
# TELEGRAM_NOTIFIER_CHAT_ID: ...
# # this container will send Telegram notifications if specified address doesn't have enough funds # -------------------------------------------------- #
# monitor_mainnet:
# image: peppersec/monitor_eth
# restart: always
# environment:
# TELEGRAM_NOTIFIER_BOT_TOKEN: ...
# TELEGRAM_NOTIFIER_CHAT_ID: ...
# ADDRESS: '0x0000000000000000000000000000000000000000'
# THRESHOLD: 0.5 # ETH
# RPC_URL: https://mainnet.infura.io
# BLOCK_EXPLORER: etherscan.io
# -------------------------------------------------- # # ---------------------- BSC (Binance Smart Chain) ----------------------- #
# ---------------------- BSC (Binance Smart Chain) ----------------------- # bsc-server:
image: tornadocash/relayer:sidechain-beta
profiles: ["bsc"]
restart: always
command: server
env_file: .env.bsc
environment:
NET_ID: 56
REDIS_URL: redis://redis/1
nginx_proxy_read_timeout: 600
depends_on: [redis]
bsc-server: bsc-healthWatcher:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'bsc' ] profiles: ["bsc"]
restart: always restart: always
command: server command: healthWatcher
env_file: .env.bsc env_file: .env.bsc
environment: environment:
NET_ID: 56 NET_ID: 56
REDIS_URL: redis://redis/1 REDIS_URL: redis://redis/1
nginx_proxy_read_timeout: 600 depends_on: [redis, bsc-server]
depends_on: [ redis ]
bsc-healthWatcher: bsc-worker1:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'bsc' ] profiles: ["bsc"]
restart: always restart: always
command: healthWatcher command: worker
env_file: .env.bsc env_file: .env.bsc
environment: environment:
NET_ID: 56 NET_ID: 56
REDIS_URL: redis://redis/1 REDIS_URL: redis://redis/1
depends_on: [ redis, bsc-server ] depends_on: [redis, bsc-server]
bsc-worker1: # -------------------------------------------------- #
image: tornadorelayer:sidechain
profiles: [ 'bsc' ]
restart: always
command: worker
env_file: .env.bsc
environment:
NET_ID: 56
REDIS_URL: redis://redis/1
depends_on: [ redis, bsc-server ]
# -------------------------------------------------- # # ---------------------- Polygon (MATIC) --------------------- #
# ---------------------- Polygon (MATIC) --------------------- # polygon-server:
image: tornadocash/relayer:sidechain-beta
profiles: ["polygon"]
restart: always
command: server
env_file: .env.polygon
environment:
NET_ID: 137
REDIS_URL: redis://redis/2
nginx_proxy_read_timeout: 600
depends_on: [redis]
polygon-server: polygon-healthWatcher:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'polygon' ] profiles: ["polygon"]
restart: always restart: always
command: server command: healthWatcher
env_file: .env.polygon env_file: .env.polygon
environment: environment:
NET_ID: 137 NET_ID: 137
REDIS_URL: redis://redis/2 REDIS_URL: redis://redis/2
nginx_proxy_read_timeout: 600 depends_on: [redis, polygon-server]
depends_on: [ redis ]
polygon-healthWatcher: polygon-worker1:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'polygon' ] profiles: ["polygon"]
restart: always restart: always
command: healthWatcher command: worker
env_file: .env.polygon env_file: .env.polygon
environment: environment:
NET_ID: 137 NET_ID: 137
REDIS_URL: redis://redis/2 REDIS_URL: redis://redis/2
depends_on: [ redis, polygon-server ] depends_on: [redis, polygon-server]
polygon-worker1: # -------------------------------------------------- #
image: tornadorelayer:sidechain
profiles: [ 'polygon' ]
restart: always
command: worker
env_file: .env.polygon
environment:
NET_ID: 137
REDIS_URL: redis://redis/2
depends_on: [ redis, polygon-server ]
# -------------------------------------------------- # # ---------------------- Gnosis (XDAI) ---------------------- #
# ---------------------- Gnosis (XDAI) ---------------------- # gnosis-server:
image: tornadocash/relayer:sidechain-beta
profiles: ["gnosis"]
restart: always
command: server
env_file: .env.gnosis
environment:
NET_ID: 100
REDIS_URL: redis://redis/3
nginx_proxy_read_timeout: 600
depends_on: [redis]
gnosis-server: gnosis-healthWatcher:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'gnosis' ] profiles: ["gnosis"]
restart: always restart: always
command: server command: healthWatcher
env_file: .env.gnosis env_file: .env.gnosis
environment: environment:
NET_ID: 100 NET_ID: 100
REDIS_URL: redis://redis/3 REDIS_URL: redis://redis/3
nginx_proxy_read_timeout: 600 depends_on: [redis, gnosis-server]
depends_on: [ redis ]
gnosis-healthWatcher: gnosis-worker1:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'gnosis' ] profiles: ["gnosis"]
restart: always restart: always
command: healthWatcher command: worker
env_file: .env.gnosis env_file: .env.gnosis
environment: environment:
NET_ID: 100 NET_ID: 100
REDIS_URL: redis://redis/3 REDIS_URL: redis://redis/3
depends_on: [ redis, gnosis-server ] depends_on: [redis, gnosis-server]
gnosis-worker1: # -------------------------------------------------- #
image: tornadorelayer:sidechain
profiles: [ 'gnosis' ]
restart: always
command: worker
env_file: .env.gnosis
environment:
NET_ID: 100
REDIS_URL: redis://redis/3
depends_on: [ redis, gnosis-server ]
# -------------------------------------------------- # # ---------------------- AVAX ---------------------- #
# ---------------------- AVAX ---------------------- # avax-server:
image: tornadocash/relayer:sidechain-beta
profiles: ["avax"]
restart: always
command: server
env_file: .env.avax
environment:
NET_ID: 43114
REDIS_URL: redis://redis/4
nginx_proxy_read_timeout: 600
depends_on: [redis]
avax-server: avax-healthWatcher:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'avax' ] profiles: ["avax"]
restart: always restart: always
command: server command: healthWatcher
env_file: .env.avax env_file: .env.avax
environment: environment:
NET_ID: 43114 NET_ID: 43114
REDIS_URL: redis://redis/4 REDIS_URL: redis://redis/4
nginx_proxy_read_timeout: 600 depends_on: [redis, avax-server]
depends_on: [ redis ]
avax-healthWatcher: avax-worker1:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'avax' ] profiles: ["avax"]
restart: always restart: always
command: healthWatcher command: worker
env_file: .env.avax env_file: .env.avax
environment: environment:
NET_ID: 43114 NET_ID: 43114
REDIS_URL: redis://redis/4 REDIS_URL: redis://redis/4
depends_on: [ redis, avax-server ] depends_on: [redis, avax-server]
avax-worker1: # -------------------------------------------------- #
image: tornadorelayer:sidechain
profiles: [ 'avax' ]
restart: always
command: worker
env_file: .env.avax
environment:
NET_ID: 43114
REDIS_URL: redis://redis/4
depends_on: [ redis, avax-server ]
# -------------------------------------------------- # # ---------------------- OP ------------------------ #
# ---------------------- OP ------------------------ # op-server:
image: tornadocash/relayer:sidechain-beta
profiles: ["op"]
restart: always
command: server
env_file: .env.op
environment:
NET_ID: 10
REDIS_URL: redis://redis/5
nginx_proxy_read_timeout: 600
depends_on: [redis]
op-server: op-healthWatcher:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'op' ] profiles: ["op"]
restart: always restart: always
command: server command: healthWatcher
env_file: .env.op env_file: .env.op
environment: environment:
NET_ID: 10 NET_ID: 10
REDIS_URL: redis://redis/5 REDIS_URL: redis://redis/5
nginx_proxy_read_timeout: 600 depends_on: [redis, op-server]
depends_on: [ redis ]
op-healthWatcher: op-worker1:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'op' ] profiles: ["op"]
restart: always restart: always
command: healthWatcher command: worker
env_file: .env.op env_file: .env.op
environment: environment:
NET_ID: 10 NET_ID: 10
REDIS_URL: redis://redis/5 REDIS_URL: redis://redis/5
depends_on: [ redis, op-server ] depends_on: [redis, op-server]
op-worker1: # -------------------------------------------------- #
image: tornadorelayer:sidechain
profiles: [ 'op' ]
restart: always
command: worker
env_file: .env.op
environment:
NET_ID: 10
REDIS_URL: redis://redis/5
depends_on: [ redis, op-server ]
# -------------------------------------------------- # # ---------------------- Arbitrum ----------------------- #
# ---------------------- Arbitrum ----------------------- # arb-server:
image: tornadocash/relayer:sidechain-beta
profiles: ["arb"]
restart: always
command: server
env_file: .env.arb
environment:
NET_ID: 42161
REDIS_URL: redis://redis/6
nginx_proxy_read_timeout: 600
depends_on: [redis]
arb-server: arb-healthWatcher:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'arb' ] profiles: ["arb"]
restart: always restart: always
command: server command: healthWatcher
env_file: .env.arb env_file: .env.arb
environment: environment:
NET_ID: 42161 NET_ID: 42161
REDIS_URL: redis://redis/6 REDIS_URL: redis://redis/6
nginx_proxy_read_timeout: 600 depends_on: [redis, arb-server]
depends_on: [ redis ]
arb-healthWatcher: arb-worker1:
image: tornadorelayer:sidechain image: tornadocash/relayer:sidechain-beta
profiles: [ 'arb' ] profiles: ["arb"]
restart: always restart: always
command: healthWatcher command: worker
env_file: .env.arb env_file: .env.arb
environment: environment:
NET_ID: 42161 NET_ID: 42161
REDIS_URL: redis://redis/6 REDIS_URL: redis://redis/6
depends_on: [ redis, arb-server ] depends_on: [redis, arb-server]
arb-worker1: # -------------------------------------------------- #
image: tornadorelayer:sidechain
profiles: [ 'arb' ]
restart: always
command: worker
env_file: .env.arb
environment:
NET_ID: 42161
REDIS_URL: redis://redis/6
depends_on: [ redis, arb-server ]
# -------------------------------------------------- # # ---------------------- Goerli (Ethereum Testnet) ---------------------- #
# ---------------------- Goerli (Ethereum Testnet) ---------------------- # goerli-server:
image: tornadorelayer:mainnet
profiles: ["geth"]
restart: always
command: server
env_file: .env.goerli
environment:
NET_ID: 5
REDIS_URL: redis://redis/7
nginx_proxy_read_timeout: 600
depends_on: [redis]
goerli-server: goerli-treeWatcher:
image: tornadorelayer:mainnet image: tornadorelayer:mainnet
profiles: [ 'geth' ] profiles: ["goerli"]
restart: always restart: always
command: server command: treeWatcher
env_file: .env.goerli env_file: .env.goerli
environment: environment:
NET_ID: 5 NET_ID: 5
REDIS_URL: redis://redis/7 REDIS_URL: redis://redis/7
nginx_proxy_read_timeout: 600 depends_on: [redis, goerli-server]
depends_on: [ redis ]
goerli-treeWatcher: goerli-priceWatcher:
image: tornadorelayer:mainnet image: tornadorelayer:mainnet
profiles: [ 'goerli' ] profiles: ["goerli"]
restart: always restart: always
command: treeWatcher command: priceWatcher
env_file: .env.goerli env_file: .env.goerli
environment: environment:
NET_ID: 5 NET_ID: 5
REDIS_URL: redis://redis/7 REDIS_URL: redis://redis/7
depends_on: [ redis, goerli-server ] depends_on: [redis, goerli-server]
goerli-priceWatcher: goerli-healthWatcher:
image: tornadorelayer:mainnet image: tornadorelayer:mainnet
profiles: [ 'goerli' ] profiles: ["goerli"]
restart: always restart: always
command: priceWatcher command: healthWatcher
env_file: .env.goerli env_file: .env.goerli
environment: environment:
NET_ID: 5 NET_ID: 5
REDIS_URL: redis://redis/7 REDIS_URL: redis://redis/7
depends_on: [ redis, goerli-server ] depends_on: [redis, goerli-server]
goerli-healthWatcher: goerli-worker1:
image: tornadorelayer:mainnet image: tornadorelayer:mainnet
profiles: [ 'goerli' ] profiles: ["goerli"]
restart: always restart: always
command: healthWatcher command: worker
env_file: .env.goerli env_file: .env.goerli
environment: environment:
NET_ID: 5 NET_ID: 5
REDIS_URL: redis://redis/7 REDIS_URL: redis://redis/7
depends_on: [ redis, goerli-server ] depends_on: [redis, goerli-server]
# -------------------------------------------------- #
goerli-worker1:
image: tornadorelayer:mainnet
profiles: [ 'goerli' ]
restart: always
command: worker
env_file: .env.goerli
environment:
NET_ID: 5
REDIS_URL: redis://redis/7
depends_on: [ redis, goerli-server ]
# -------------------------------------------------- #
volumes: volumes:
conf: conf:
vhost: vhost:
html: html:
certs: certs:
redis: redis:

@ -47,6 +47,14 @@ function install_requred_packages(){
echo -e "\nAll required packages installed successfully"; echo -e "\nAll required packages installed successfully";
} }
function install_node(){
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash;
. ~/.nvm/nvm.sh;
. ~/.profile;
. ~/.bashrc;
nvm install 14.21.3;
}
function install_repositories(){ function install_repositories(){
git clone $relayer_soft_git_repo -b main-v4 $relayer_folder git clone $relayer_soft_git_repo -b main-v4 $relayer_folder
git clone $relayer_soft_git_repo -b mainnet-v4 $relayer_mainnet_soft_source_folder; git clone $relayer_soft_git_repo -b mainnet-v4 $relayer_mainnet_soft_source_folder;
@ -73,18 +81,18 @@ function configure_firewall(){
function configure_nginx_reverse_proxy(){ function configure_nginx_reverse_proxy(){
systemctl stop apache2; systemctl stop apache2;
cp $relayer_mainnet_soft_source_folder/tornado.conf /etc/nginx/sites-available/default; cp $relayer_folder/tornado.conf /etc/nginx/sites-available/default;
echo "stream { map_hash_bucket_size 128; map_hash_max_size 128; include /etc/nginx/conf.d/streams/*.conf; }" >> /etc/nginx/nginx.conf; echo "stream { map_hash_bucket_size 128; map_hash_max_size 128; include /etc/nginx/conf.d/streams/*.conf; }" >> /etc/nginx/nginx.conf;
mkdir /etc/nginx/conf.d/streams; mkdir /etc/nginx/conf.d/streams;
cp $relayer_mainnet_soft_source_folder/tornado-stream.conf /etc/nginx/conf.d/streams/tornado-stream.conf; cp $relayer_folder/tornado-stream.conf /etc/nginx/conf.d/streams/tornado-stream.conf;
systemctl restart nginx; systemctl restart nginx;
systemctl stop nginx; systemctl stop nginx;
} }
function build_relayer_docker_containers(){ function build_relayer_docker_containers(){
docker build -t tornadorelayer:mainnet $relayer_mainnet_soft_source_folder; cd $relayer_mainnet_soft_source_folder && npm run build;
docker build -t tornadorelayer:sidechain $relayer_sidechains_soft_source_folder; cd $relayer_sidechains_soft_source_folder && npm run build;
} }
function prepare_environments(){ function prepare_environments(){
@ -95,6 +103,7 @@ function prepare_environments(){
function main(){ function main(){
install_requred_packages; install_requred_packages;
install_node;
install_repositories; install_repositories;
configure_firewall; configure_firewall;
configure_nginx_reverse_proxy; configure_nginx_reverse_proxy;