2021-08-12 01:58:38 +02:00
version : "3.9"
2021-01-24 21:16:22 +01:00
volumes :
ganache-db : {}
postgres-db : {}
bee-data : {}
2021-01-25 17:21:30 +01:00
signer-data : {}
2021-02-01 17:35:35 +01:00
bloxberg-data : {}
2021-06-03 19:22:47 +02:00
contract-config : {}
2021-01-24 21:16:22 +01:00
2021-08-12 01:58:38 +02:00
networks :
traefik-public :
# Allow setting it to false for testing
external : ${TRAEFIK_PUBLIC_NETWORK_IS_EXTERNAL-true}
2021-01-24 21:16:22 +01:00
services :
2021-08-12 01:58:38 +02:00
proxy :
image : traefik:v2.2
networks :
- ${TRAEFIK_PUBLIC_NETWORK?Variable not set}
- default
volumes :
- /var/run/docker.sock:/var/run/docker.sock
command :
# Enable Docker in Traefik, so that it reads labels from Docker services
- --providers.docker
# Add a constraint to only use services with the label for this stack
# from the env var TRAEFIK_TAG
- --providers.docker.constraints=Label(`traefik.constraint-label-stack`, `${TRAEFIK_TAG?Variable not set}`)
# Do not expose all Docker services, only the ones explicitly exposed
- --providers.docker.exposedbydefault=false
# Enable Docker Swarm mode
- --providers.docker.swarmmode
# Enable the access log, with HTTP requests
- --accesslog
# Enable the Traefik log, for configurations and errors
- --log
# Enable the Dashboard and API
- --api
deploy :
placement :
constraints :
- node.role == manager
labels :
# Enable Traefik for this service, to make it available in the public network
- traefik.enable=true
# Use the traefik-public network (declared below)
- traefik.docker.network=${TRAEFIK_PUBLIC_NETWORK?Variable not set}
# Use the custom label "traefik.constraint-label=traefik-public"
# This public Traefik will only use services with this label
- traefik.constraint-label=${TRAEFIK_PUBLIC_TAG?Variable not set}
# traefik-http set up only to use the middleware to redirect to https
- traefik.http.middlewares.${STACK_NAME?Variable not set}-https-redirect.redirectscheme.scheme=https
- traefik.http.middlewares.${STACK_NAME?Variable not set}-https-redirect.redirectscheme.permanent=true
# Handle host with and without "www" to redirect to only one of them
# Uses environment variable DOMAIN
# To disable www redirection remove the Host() you want to discard, here and
# below for HTTPS
- traefik.http.routers.${STACK_NAME?Variable not set}-proxy-http.rule=Host(`${DOMAIN?Variable not set}`) || Host(`www.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-proxy-http.entrypoints=http
# traefik-https the actual router using HTTPS
- traefik.http.routers.${STACK_NAME?Variable not set}-proxy-https.rule=Host(`${DOMAIN?Variable not set}`) || Host(`www.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-proxy-https.entrypoints=https
- traefik.http.routers.${STACK_NAME?Variable not set}-proxy-https.tls=true
# Use the "le" (Let's Encrypt) resolver created below
- traefik.http.routers.${STACK_NAME?Variable not set}-proxy-https.tls.certresolver=le
# Define the port inside of the Docker service to use
- traefik.http.services.${STACK_NAME?Variable not set}-proxy.loadbalancer.server.port=80
# Handle domain with and without "www" to redirect to only one
# To disable www redirection remove the next line
- traefik.http.middlewares.${STACK_NAME?Variable not set}-www-redirect.redirectregex.regex=^https?://(www.)?(${DOMAIN?Variable not set})/(.*)
# Redirect a domain with www to non-www
# To disable it remove the next line
- traefik.http.middlewares.${STACK_NAME?Variable not set}-www-redirect.redirectregex.replacement=https://${DOMAIN?Variable not set}/$${3}
# Redirect a domain without www to www
# To enable it remove the previous line and uncomment the next
# - traefik.http.middlewares.${STACK_NAME}-www-redirect.redirectregex.replacement=https://www.${DOMAIN}/$${3}
# Middleware to redirect www, to disable it remove the next line
- traefik.http.routers.${STACK_NAME?Variable not set}-proxy-https.middlewares=${STACK_NAME?Variable not set}-www-redirect
# Middleware to redirect www, and redirect HTTP to HTTPS
# to disable www redirection remove the section: ${STACK_NAME?Variable not set}-www-redirect,
- traefik.http.routers.${STACK_NAME?Variable not set}-proxy-http.middlewares=${STACK_NAME?Variable not set}-www-redirect,${STACK_NAME?Variable not set}-https-redirect
2021-08-12 03:00:57 +02:00
cicada :
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cicada:latest
build :
context : ./apps/cic-staff-client
args :
BUILD_ENV : prod
deploy :
labels :
- traefik.enable=true
- traefik.constraint-label-stack=${TRAEFIK_TAG?Variable not set}
2021-08-13 21:45:27 +02:00
- traefik.http.routers.${STACK_NAME?Variable not set}-cicada-http.rule=PathPrefix(`/`)
- traefik.http.services.${STACK_NAME?Variable not set}-cicada.loadbalancer.server.port=80
2021-08-12 03:00:57 +02:00
2021-02-01 02:08:45 +01:00
eth :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/bloxberg-node:${TAG:-latest}
2021-08-12 01:58:38 +02:00
env_file :
- .env
2021-02-01 17:56:36 +01:00
build :
context : apps/bloxbergValidatorSetup
2021-02-01 02:08:45 +01:00
ports :
2021-08-13 21:45:27 +02:00
- 8545
- 8546
2021-02-01 02:08:45 +01:00
- 30303
volumes :
2021-02-11 11:14:30 +01:00
- ./apps/bloxbergValidatorSetup/keys:/root/keys # stores the signing key locally
2021-02-06 04:27:59 +01:00
- bloxberg-data:/root/.local/share/io.parity.ethereum/
2021-08-13 21:45:27 +02:00
deploy :
labels :
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_PUBLIC_NETWORK?Variable not set}
- traefik.constraint-label=${TRAEFIK_PUBLIC_TAG?Variable not set}
- traefik.http.routers.${STACK_NAME?Variable not set}-bloxberg-http.rule=Host(`bloxberg.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-bloxberg-http.entrypoints=http
- traefik.http.routers.${STACK_NAME?Variable not set}-bloxberg-http.middlewares=${STACK_NAME?Variable not set}-https-redirect
- traefik.http.routers.${STACK_NAME?Variable not set}-bloxberg-https.rule=Host(`bloxberg.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-bloxberg-https.entrypoints=https
- traefik.http.routers.${STACK_NAME?Variable not set}-bloxberg-https.tls=true
- traefik.http.routers.${STACK_NAME?Variable not set}-bloxberg-https.tls.certresolver=le
- traefik.http.services.${STACK_NAME?Variable not set}-bloxberg.loadbalancer.server.port=5050
2021-02-01 02:08:45 +01:00
2021-01-24 21:16:22 +01:00
# See contents of /initdb/create_db.sql for app user, password and databases
postgres :
image : postgres:12.5-alpine
2021-08-12 01:58:38 +02:00
env_file :
- .env
2021-01-24 21:16:22 +01:00
ports :
2021-08-13 21:45:27 +02:00
- 5432
2021-03-06 18:55:51 +01:00
command : [ "-c" , "max_connections=200" ]
2021-08-12 01:58:38 +02:00
deploy :
placement :
constraints :
- node.labels.${STACK_NAME?Variable not set}.app-db-data == true
2021-01-24 21:16:22 +01:00
volumes :
2021-02-09 18:32:36 +01:00
- ./scripts/initdb/create_db.sql:/docker-entrypoint-initdb.d/1-create_all_db.sql
- postgres-db:/var/lib/postgresql/data
2021-01-24 21:16:22 +01:00
redis :
image : redis:6.0.9-alpine
2021-08-12 01:58:38 +02:00
env_file :
- .env
2021-01-24 21:16:22 +01:00
ports :
2021-08-13 21:45:27 +02:00
- 6379
2021-01-24 21:16:22 +01:00
2021-08-12 01:58:38 +02:00
pgadmin :
image : dpage/pgadmin4
networks :
- ${TRAEFIK_PUBLIC_NETWORK?Variable not set}
- default
env_file :
- .env
deploy :
labels :
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_PUBLIC_NETWORK?Variable not set}
- traefik.constraint-label=${TRAEFIK_PUBLIC_TAG?Variable not set}
- traefik.http.routers.${STACK_NAME?Variable not set}-pgadmin-http.rule=Host(`pgadmin.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-pgadmin-http.entrypoints=http
- traefik.http.routers.${STACK_NAME?Variable not set}-pgadmin-http.middlewares=${STACK_NAME?Variable not set}-https-redirect
- traefik.http.routers.${STACK_NAME?Variable not set}-pgadmin-https.rule=Host(`pgadmin.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-pgadmin-https.entrypoints=https
- traefik.http.routers.${STACK_NAME?Variable not set}-pgadmin-https.tls=true
- traefik.http.routers.${STACK_NAME?Variable not set}-pgadmin-https.tls.certresolver=le
- traefik.http.services.${STACK_NAME?Variable not set}-pgadmin.loadbalancer.server.port=5050
flower :
image : mher/flower
networks :
- ${TRAEFIK_PUBLIC_NETWORK?Variable not set}
- default
env_file :
- .env
command : [ "celery" , "--broker=redis://redis:6379" , "flower" ]
deploy :
labels :
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_PUBLIC_NETWORK?Variable not set}
- traefik.constraint-label=${TRAEFIK_PUBLIC_TAG?Variable not set}
- traefik.http.routers.${STACK_NAME?Variable not set}-flower-http.rule=Host(`flower.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-flower-http.entrypoints=http
- traefik.http.routers.${STACK_NAME?Variable not set}-flower-http.middlewares=${STACK_NAME?Variable not set}-https-redirect
- traefik.http.routers.${STACK_NAME?Variable not set}-flower-https.rule=Host(`flower.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-flower-https.entrypoints=https
- traefik.http.routers.${STACK_NAME?Variable not set}-flower-https.tls=true
- traefik.http.routers.${STACK_NAME?Variable not set}-flower-https.tls.certresolver=le
- traefik.http.services.${STACK_NAME?Variable not set}-flower.loadbalancer.server.port=5555
2021-01-24 21:16:22 +01:00
bee :
image : ethersphere/bee:0.4.1
container_name : bee
2021-08-12 01:58:38 +02:00
env_file :
- .env
2021-01-24 21:16:22 +01:00
environment :
BEE_NETWORK_ID : ${BEE_NETWORK_ID:-313}
2021-01-26 03:25:24 +01:00
BEE_PASSWORD : ${BEE_PASSWORD:-password}
2021-01-24 21:16:22 +01:00
ports :
2021-02-12 03:27:29 +01:00
- ${DEV_BEE_PORT:-63633}:1633
- ${DEV_BEE_PORT_DEBUG:-63635}:1635
2021-01-24 21:16:22 +01:00
command : "start --swap-enable=false --standalone"
volumes :
- bee-data:/tmp/cic/bee
contract-migration :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/contract-migration:${TAG:-latest}
2021-02-10 08:03:11 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/contract-migration
dockerfile : docker/Dockerfile
2021-05-02 19:02:45 +02:00
args :
pip_index_url : ${PIP_DEFAULT_INDEX_URL:-https://pypi.org/simple}
pip_extra_args : $PIP_EXTRA_ARGS
2021-03-21 19:32:53 +01:00
# image: registry.gitlab.com/grassrootseconomics/cic-internal-integration/contract-migration:latest
2021-08-12 01:58:38 +02:00
env_file :
- .env
2021-02-10 08:03:11 +01:00
environment :
# ETH_PROVIDER should be broken out into host/port but cic-eth expects this
# And these two are for wait-for-it (could parse this)
2021-04-21 07:46:42 +02:00
DEV_USE_DOCKER_WAIT_SCRIPT : 1
2021-02-10 08:03:11 +01:00
ETH_PROVIDER_HOST : eth
ETH_PROVIDER_PORT : 8545
CIC_DATA_DIR : ${CIC_DATA_DIR:-/tmp/cic/config}
DATABASE_NAME : ${DEV_DATABASE_NAME_CIC_ETH:-cic_eth}
DATABASE_USER : ${DATABASE_USER:-postgres}
2021-08-07 02:30:41 +02:00
RUN_MASK : ${RUN_MASK:-0}
2021-03-29 21:29:29 +02:00
DEV_FAUCET_AMOUNT : ${DEV_FAUCET_AMOUNT:-0}
2021-07-05 12:58:08 +02:00
#DEV_SARAFU_DEMURRAGE_LEVEL: ${DEV_SARAFU_DEMURRAGE_LEVEL:-196454828847045000000000000000000}
2021-04-21 07:46:42 +02:00
DEV_ETH_GAS_PRICE : ${DEV_ETH_GAS_PRICE:-1}
2021-07-12 21:50:48 +02:00
CIC_DEFAULT_TOKEN_SYMBOL : $CIC_DEFAULT_TOKEN_SYMBOL
2021-07-05 12:58:08 +02:00
TOKEN_NAME : $TOKEN_NAME
TOKEN_DECIMALS : $TOKEN_DECIMALS
TOKEN_REDISTRIBUTION_PERIOD : $TOKEN_REDISTRIBUTION_PERIOD
TOKEN_SUPPLY_LIMIT : $TOKEN_SUPPLY_LIMIT
TOKEN_DEMURRAGE_LEVEL : ${TOKEN_DEMURRAGE_LEVEL:-196454828847045000000000000000000}
TOKEN_SINK_ADDRESS : $TOKEN_SINK_ADDRESS
2021-07-12 21:50:48 +02:00
TOKEN_TYPE : $TOKEN_TYPE
2021-07-05 12:58:08 +02:00
#CONFINI_DIR: ${CONFINI_DIR:-/tmp/cic/config}
2021-03-19 15:19:40 +01:00
command : [ "./run_job.sh" ]
2021-03-29 15:27:53 +02:00
#command: ["./reset.sh"]
2021-02-10 08:03:11 +01:00
volumes :
- contract-config:/tmp/cic/config
2021-08-07 02:30:41 +02:00
data-seeding :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/data-seeding:${TAG:-latest}
2021-08-07 02:30:41 +02:00
build :
context : apps/data-seeding
dockerfile : docker/Dockerfile
args :
pip_index_url : ${PIP_DEFAULT_INDEX_URL:-https://pypi.org/simple}
pip_extra_args : $PIP_EXTRA_ARGS
# image: registry.gitlab.com/grassrootseconomics/cic-internal-integration/contract-migration:latest
environment :
CIC_REGISTRY_ADDRESS : $CIC_REGISTRY_ADDRESS
# ETH_PROVIDER should be broken out into host/port but cic-eth expects this
ETH_PROVIDER : http://eth:8545
# And these two are for wait-for-it (could parse this)
CIC_DATA_DIR : ${CIC_DATA_DIR:-/tmp/cic/config}
DEV_USE_DOCKER_WAIT_SCRIPT : 1
ETH_PROVIDER_HOST : eth
ETH_PROVIDER_PORT : 8545
REDIS_HOST : ${REDIS_HOST:-redis}
REDIS_PORT : ${REDIS_PORT:-6379}
REDIS_DB : ${REDIS_DB:-0}
CELERY_BROKER_URL : ${CELERY_BROKER_URL:-redis://redis:6379}
CELERY_RESULT_URL : ${CELERY_RESULT_URL:-redis://redis:6379}
RUN_MASK : ${RUN_MASK:-0} # 7
TOKEN_SYMBOL : ${TOKEN_SYMBOL:-GFT}
USER_USSD_HOST : cic-user-ussd-server
USER_USSD_PORT : 9000
KEYSTORE_FILE_PATH : "/root/keystore/UTC--2021-01-08T17-18-44.521011372Z--eb3907ecad74a0013c259d5874ae7f22dcbcc95c"
OUT_DIR : out
NUMBER_OF_USERS : 10
command : [ "bash" , "./scripts/run_job.sh" ]
volumes :
- contract-config:/tmp/cic/config
2021-02-17 10:33:18 +01:00
cic-cache-tracker :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-cache:${TAG:-latest}
2021-02-17 10:33:18 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-cache
dockerfile : docker/Dockerfile
2021-02-17 10:33:18 +01:00
environment :
CIC_REGISTRY_ADDRESS : $CIC_REGISTRY_ADDRESS # supplied at contract-config after contract provisioning
ETH_PROVIDER : ${ETH_PROVIDER:-http://eth:8545}
DATABASE_USER : ${DATABASE_USER:-grassroots}
DATABASE_PASSWORD : ${DATABASE_PASSWORD:-tralala} # this is is set at initdb see: postgres/initdb/create_db.sql
DATABASE_HOST : ${DATABASE_HOST:-postgres}
DATABASE_PORT : ${DATABASE_PORT:-5432}
DATABASE_NAME : ${DATABASE_NAME_CIC_CACHE:-cic_cache}
DATABASE_ENGINE : ${DATABASE_ENGINE:-postgres}
DATABASE_DRIVER : ${DATABASE_DRIVER:-psycopg2}
DATABASE_DEBUG : 1
ETH_ABI_DIR : ${ETH_ABI_DIR:-/usr/local/share/cic/solidity/abi}
CIC_TRUST_ADDRESS : ${DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER:-0xEb3907eCad74a0013c259D5874AE7f22DcBcC95C}
2021-02-21 16:41:37 +01:00
CIC_CHAIN_SPEC : ${CIC_CHAIN_SPEC:-evm:bloxberg:8996}
2021-02-17 10:33:18 +01:00
CELERY_BROKER_URL : redis://redis:6379
CELERY_RESULT_URL : redis://redis:6379
deploy :
restart_policy :
condition : on -failure
command :
- /bin/bash
- -c
- |
if [[ -f /tmp/cic/config/.env ]]; then source /tmp/cic/config/.env; fi
2021-04-15 16:02:09 +02:00
./start_tracker.sh -c /usr/local/etc/cic-cache -vv
2021-03-15 14:22:39 +01:00
volumes :
- contract-config:/tmp/cic/config/:ro
cic-cache-tasker :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-cache:${TAG:-latest}
2021-03-15 14:22:39 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-cache
dockerfile : docker/Dockerfile
2021-03-15 14:22:39 +01:00
environment :
CIC_REGISTRY_ADDRESS : $CIC_REGISTRY_ADDRESS # supplied at contract-config after contract provisioning
ETH_PROVIDER : ${ETH_PROVIDER:-http://eth:8545}
DATABASE_USER : ${DATABASE_USER:-grassroots}
DATABASE_PASSWORD : ${DATABASE_PASSWORD:-tralala} # this is is set at initdb see: postgres/initdb/create_db.sql
DATABASE_HOST : ${DATABASE_HOST:-postgres}
DATABASE_PORT : ${DATABASE_PORT:-5432}
DATABASE_NAME : ${DATABASE_NAME_CIC_CACHE:-cic_cache}
DATABASE_ENGINE : ${DATABASE_ENGINE:-postgres}
DATABASE_DRIVER : ${DATABASE_DRIVER:-psycopg2}
DATABASE_DEBUG : 1
2021-04-09 15:00:15 +02:00
DATABASE_POOL_SIZE : 0
2021-03-15 14:22:39 +01:00
ETH_ABI_DIR : ${ETH_ABI_DIR:-/usr/local/share/cic/solidity/abi}
CIC_TRUST_ADDRESS : ${DEV_ETH_ACCOUNT_CONTRACT_DEPLOYER:-0xEb3907eCad74a0013c259D5874AE7f22DcBcC95C}
CIC_CHAIN_SPEC : ${CIC_CHAIN_SPEC:-evm:bloxberg:8996}
CELERY_BROKER_URL : redis://redis:6379
CELERY_RESULT_URL : redis://redis:6379
deploy :
restart_policy :
condition : on -failure
command :
- /bin/bash
- -c
- |
if [[ -f /tmp/cic/config/.env ]]; then source /tmp/cic/config/.env; fi
/usr/local/bin/cic-cache-taskerd -vv
2021-02-17 10:33:18 +01:00
volumes :
- contract-config:/tmp/cic/config/:ro
2021-01-24 21:16:22 +01:00
2021-02-17 10:33:18 +01:00
cic-cache-server :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-cache:${TAG:-latest}
2021-07-10 17:46:14 +02:00
build :
context : apps/cic-cache
dockerfile : docker/Dockerfile
2021-02-17 10:33:18 +01:00
environment :
2021-04-15 16:02:09 +02:00
DATABASE_USER : ${DATABASE_USER:-grassroots}
DATABASE_HOST : ${DATABASE_HOST:-postgres}
DATABASE_PORT : ${DATABASE_PORT:-5432}
#DATABASE_PASSWORD: ${DATABASE_PASSWORD:-
DATABASE_NAME : ${DATABASE_NAME_CIC_CACHE:-cic_cache}
2021-02-17 10:33:18 +01:00
DATABASE_DEBUG : 1
2021-04-15 16:02:09 +02:00
#PGPASSWORD: $DATABASE_PASSWORD
2021-02-17 10:33:18 +01:00
SERVER_PORT : 8000
ports :
2021-08-12 01:58:38 +02:00
- 8000
2021-02-17 10:33:18 +01:00
command :
- /bin/bash
- -c
- |
if [[ -f /tmp/cic/config/.env ]]; then source /tmp/cic/config/.env; fi
"/usr/local/bin/uwsgi" \
2021-04-15 16:02:09 +02:00
--wsgi-file /usr/src/cic-cache/cic_cache/runnable/daemons/server.py \
2021-03-04 16:06:14 +01:00
--http :8000 \
2021-04-15 16:02:09 +02:00
--pyargv "-vv"
2021-08-12 01:58:38 +02:00
deploy :
labels :
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_PUBLIC_NETWORK?Variable not set}
- traefik.constraint-label=${TRAEFIK_PUBLIC_TAG?Variable not set}
- traefik.http.routers.${STACK_NAME?Variable not set}-cache-http.rule=Host(`cache.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-cache-http.entrypoints=http
- traefik.http.routers.${STACK_NAME?Variable not set}-cache-http.middlewares=${STACK_NAME?Variable not set}-https-redirect
- traefik.http.routers.${STACK_NAME?Variable not set}-cache-https.rule=Host(`cache.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-cache-https.entrypoints=https
- traefik.http.routers.${STACK_NAME?Variable not set}-cache-https.tls=true
- traefik.http.routers.${STACK_NAME?Variable not set}-cache-https.tls.certresolver=le
- traefik.http.services.${STACK_NAME?Variable not set}-cache.loadbalancer.server.port=80
2021-01-24 21:16:22 +01:00
2021-01-25 17:21:30 +01:00
cic-eth-tasker :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-eth:${TAG:-latest}
2021-01-25 17:21:30 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-eth
dockerfile : docker/Dockerfile
2021-01-25 17:21:30 +01:00
environment :
CIC_REGISTRY_ADDRESS : $CIC_REGISTRY_ADDRESS
ETH_GAS_PROVIDER_ADDRESS : $DEV_ETH_ACCOUNT_GAS_PROVIDER
2021-01-29 16:39:42 +01:00
ETH_PROVIDER : http://eth:8545
ETH_ABI_DIR : ${ETH_ABI_DIR:-/usr/local/share/cic/solidity/abi}
2021-01-25 17:21:30 +01:00
DATABASE_USER : ${DATABASE_USER:-grassroots}
DATABASE_HOST : ${DATABASE_HOST:-postgres}
DATABASE_PASSWORD : ${DATABASE_PASSWORD:-tralala}
2021-02-10 08:03:11 +01:00
DATABASE_NAME : ${DATABASE_NAME_CIC_ETH:-cic_eth}
2021-01-25 17:21:30 +01:00
DATABASE_PORT : ${DATABASE_PORT:-5432}
DATABASE_ENGINE : ${DATABASE_ENGINE:-postgres}
DATABASE_DRIVER : ${DATABASE_DRIVER:-psycopg2}
2021-02-19 08:06:05 +01:00
DATABASE_DEBUG : ${DATABASE_DEBUG:-0}
2021-04-09 15:00:15 +02:00
DATABASE_POOL_SIZE : 0
2021-04-24 19:53:45 +02:00
REDIS_PORT : 6379
REDIS_HOST : redis
2021-01-25 17:21:30 +01:00
PGPASSWORD : ${DATABASE_PASSWORD:-tralala}
2021-02-21 16:41:37 +01:00
CIC_CHAIN_SPEC : ${CIC_CHAIN_SPEC:-evm:bloxberg:8996}
2021-01-25 17:21:30 +01:00
BANCOR_DIR : ${BANCOR_DIR:-/usr/local/share/cic/bancor}
2021-01-29 16:39:42 +01:00
CELERY_BROKER_URL : ${CELERY_BROKER_URL:-redis://redis}
CELERY_RESULT_URL : ${CELERY_RESULT_URL:-redis://redis}
2021-05-15 06:36:54 +02:00
CELERY_DEBUG : ${CELERY_DEBUG:-1}
2021-03-29 15:27:53 +02:00
SIGNER_SOCKET_PATH : ${SIGNER_SOCKET_PATH:-ipc:///run/crypto-dev-signer/jsonrpc.ipc}
2021-01-25 17:21:30 +01:00
SIGNER_SECRET : ${SIGNER_SECRET:-deadbeef}
ETH_ACCOUNT_ACCOUNTS_INDEX_WRITER : ${DEV_ETH_ACCOUNT_ACCOUNTS_INDEX_WRITER:-0xACB0BC74E1686D62dE7DC6414C999EA60C09F0eA}
2021-02-06 17:26:20 +01:00
TASKS_TRACE_QUEUE_STATUS : ${TASKS_TRACE_QUEUE_STATUS:-1}
2021-04-24 08:14:24 +02:00
CIC_DEFAULT_TOKEN_SYMBOL : ${CIC_DEFAULT_TOKEN_SYMBOL:-GFT}
2021-01-25 17:21:30 +01:00
deploy :
restart_policy :
condition : on -failure
volumes :
- signer-data:/tmp/cic/signer
2021-02-01 02:08:45 +01:00
- contract-config:/tmp/cic/config/:ro
2021-01-25 17:21:30 +01:00
command :
2021-01-29 05:26:08 +01:00
- /bin/bash
2021-01-25 17:21:30 +01:00
- -c
- |
if [[ -f /tmp/cic/config/.env ]]; then source /tmp/cic/config/.env; fi
2021-07-08 17:28:04 +02:00
./start_tasker.sh --aux-all -q cic-eth -vv
2021-01-29 05:26:08 +01:00
# command: [/bin/sh, "./start_tasker.sh", -q, cic-eth, -vv ]
2021-01-24 21:16:22 +01:00
2021-03-01 21:15:17 +01:00
cic-eth-tracker :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-eth:${TAG:-latest}
2021-02-01 02:08:45 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-eth
dockerfile : docker/Dockerfile
2021-02-01 02:08:45 +01:00
environment :
ETH_PROVIDER : http://eth:8545
DATABASE_USER : ${DATABASE_USER:-grassroots}
DATABASE_HOST : ${DATABASE_HOST:-postgres}
DATABASE_PASSWORD : ${DATABASE_PASSWORD:-tralala}
2021-02-12 03:27:29 +01:00
DATABASE_NAME : ${DATABASE_NAME_CIC_CACHE:-cic_eth}
2021-02-01 02:08:45 +01:00
DATABASE_PORT : ${DATABASE_PORT:-5432}
DATABASE_ENGINE : ${DATABASE_ENGINE:-postgres}
DATABASE_DRIVER : ${DATABASE_DRIVER:-psycopg2}
2021-03-01 21:15:17 +01:00
DATABASE_DEBUG : ${DATABASE_DEBUG:-0}
2021-02-21 16:41:37 +01:00
CIC_CHAIN_SPEC : ${CIC_CHAIN_SPEC:-evm:bloxberg:8996}
2021-02-08 19:55:20 +01:00
CIC_REGISTRY_ADDRESS : $CIC_REGISTRY_ADDRESS
#BANCOR_DIR: $BANCOR_DIR
2021-02-01 02:08:45 +01:00
CELERY_BROKER_URL : ${CELERY_BROKER_URL:-redis://redis}
CELERY_RESULT_URL : ${CELERY_RESULT_URL:-redis://redis}
2021-02-08 19:55:20 +01:00
TASKS_TRANSFER_CALLBACKS : $TASKS_TRANSFER_CALLBACKS
2021-02-01 02:08:45 +01:00
deploy :
restart_policy :
condition : on -failure
volumes :
- contract-config:/tmp/cic/config/:ro
command :
- /bin/bash
- -c
- |
if [[ -f /tmp/cic/config/.env ]]; then source /tmp/cic/config/.env; fi
2021-03-29 15:27:53 +02:00
./start_tracker.sh -vv -c /usr/local/etc/cic-eth
2021-02-01 02:08:45 +01:00
# command: "/root/start_manager.sh head -vv"
2021-01-24 21:16:22 +01:00
2021-02-01 02:08:45 +01:00
cic-eth-dispatcher :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-eth:${TAG:-latest}
2021-02-01 02:08:45 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-eth
dockerfile : docker/Dockerfile
2021-02-01 02:08:45 +01:00
environment :
ETH_PROVIDER : http://eth:8545
DATABASE_USER : ${DATABASE_USER:-grassroots}
DATABASE_HOST : ${DATABASE_HOST:-postgres}
DATABASE_PASSWORD : ${DATABASE_PASSWORD:-tralala}
2021-02-12 03:27:29 +01:00
DATABASE_NAME : ${DATABASE_NAME_CIC_CACHE:-cic_eth}
2021-02-01 02:08:45 +01:00
DATABASE_PORT : ${DATABASE_PORT:-5432}
DATABASE_ENGINE : ${DATABASE_ENGINE:-postgres}
DATABASE_DRIVER : ${DATABASE_DRIVER:-psycopg2}
2021-02-21 16:41:37 +01:00
CIC_CHAIN_SPEC : ${CIC_CHAIN_SPEC:-evm:bloxberg:8996}
2021-02-08 19:55:20 +01:00
CIC_REGISTRY_ADDRESS : $CIC_REGISTRY_ADDRESS
#BANCOR_DIR: $BANCOR_DIR
2021-02-01 02:08:45 +01:00
CELERY_BROKER_URL : ${CELERY_BROKER_URL:-redis://redis}
CELERY_RESULT_URL : ${CELERY_RESULT_URL:-redis://redis}
2021-02-08 19:55:20 +01:00
TASKS_TRANSFER_CALLBACKS : $TASKS_TRANSFER_CALLBACKS
2021-04-02 15:16:27 +02:00
DATABASE_DEBUG : ${DATABASE_DEBUG:-false}
#DATABASE_DEBUG: 1
2021-02-01 02:08:45 +01:00
deploy :
restart_policy :
condition : on -failure
volumes :
- contract-config:/tmp/cic/config/:ro
command :
- /bin/bash
- -c
- |
if [[ -f /tmp/cic/config/.env ]]; then source /tmp/cic/config/.env; fi
2021-03-06 18:55:51 +01:00
./start_dispatcher.sh -q cic-eth -vv
2021-02-01 02:08:45 +01:00
# command: "/root/start_dispatcher.sh -q cic-eth -vv"
2021-01-24 21:16:22 +01:00
2021-02-01 02:08:45 +01:00
cic-eth-retrier :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-eth:${TAG:-latest}
2021-02-01 02:08:45 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-eth
dockerfile : docker/Dockerfile
2021-02-01 02:08:45 +01:00
environment :
ETH_PROVIDER : http://eth:8545
DATABASE_USER : ${DATABASE_USER:-grassroots}
DATABASE_HOST : ${DATABASE_HOST:-postgres}
DATABASE_PASSWORD : ${DATABASE_PASSWORD:-tralala}
2021-02-12 03:27:29 +01:00
DATABASE_NAME : ${DATABASE_NAME_CIC_CACHE:-cic_eth}
2021-02-01 02:08:45 +01:00
DATABASE_PORT : ${DATABASE_PORT:-5432}
DATABASE_ENGINE : ${DATABASE_ENGINE:-postgres}
DATABASE_DRIVER : ${DATABASE_DRIVER:-psycopg2}
2021-02-21 16:41:37 +01:00
DATABASE_DEBUG : ${DATABASE_DEBUG:-0}
CIC_CHAIN_SPEC : ${CIC_CHAIN_SPEC:-evm:bloxberg:8996}
2021-02-08 19:55:20 +01:00
CIC_REGISTRY_ADDRESS : $CIC_REGISTRY_ADDRESS
#BANCOR_DIR: $BANCOR_DIR
2021-02-01 02:08:45 +01:00
CELERY_BROKER_URL : ${CELERY_BROKER_URL:-redis://redis}
CELERY_RESULT_URL : ${CELERY_RESULT_URL:-redis://redis}
2021-02-08 19:55:20 +01:00
TASKS_TRANSFER_CALLBACKS : $TASKS_TRANSFER_CALLBACKS
2021-04-05 17:07:09 +02:00
CIC_TX_RETRY_DELAY : 60
2021-04-02 15:16:27 +02:00
BATCH_SIZE : ${RETRIER_BATCH_SIZE:-50}
#DATABASE_DEBUG: 1
2021-02-01 02:08:45 +01:00
deploy :
restart_policy :
condition : on -failure
volumes :
- contract-config:/tmp/cic/config/:ro
command :
- /bin/bash
- -c
- |
if [[ -f /tmp/cic/config/.env ]]; then source /tmp/cic/config/.env; fi
2021-04-02 15:16:27 +02:00
./start_retry.sh -vv
2021-02-01 02:08:45 +01:00
# command: "/root/start_retry.sh -q cic-eth -vv"
2021-01-24 21:16:22 +01:00
2021-02-07 03:29:24 +01:00
cic-notify-tasker :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-notify:${TAG:-latest}
2021-02-11 05:44:15 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-notify
dockerfile : docker/Dockerfile
2021-02-07 03:29:24 +01:00
environment :
DATABASE_USER : ${DATABASE_USER:-grassroots}
DATABASE_HOST : ${DATABASE_HOST:-postgres}
DATABASE_PORT : ${DATABASE_PORT:-5432}
DATABASE_PASSWORD : ${DATABASE_PASSWORD:-tralala}
DATABASE_NAME : ${DATABASE_NAME_CIC_NOTIFY:-cic_notify}
DATABASE_ENGINE : ${DATABASE_ENGINE:-postgres}
DATABASE_DRIVER : ${DATABASE_DRIVER:-psycopg2}
2021-04-09 15:00:15 +02:00
DATABASE_POOL_SIZE : 0
2021-02-07 03:29:24 +01:00
PGPASSWORD : ${DATABASE_PASSWORD:-tralala}
CELERY_BROKER_URL : ${CELERY_BROKER_URL:-redis://redis}
CELERY_RESULT_URL : ${CELERY_BROKER_URL:-redis://redis}
2021-05-19 18:13:06 +02:00
AFRICASTALKING_API_USERNAME : $AFRICASTALKING_API_USERNAME
AFRICASTALKING_API_KEY : $AFRICASTALKING_API_KEY
AFRICASTALKING_API_SENDER_ID : $AFRICASTALKING_API_SENDER_ID
2021-02-07 03:29:24 +01:00
deploy :
restart_policy :
condition : on -failure
2021-04-16 22:24:07 +02:00
command : "/root/start_tasker.sh -q cic-notify -vv"
2021-01-24 21:16:22 +01:00
2021-02-09 18:32:36 +01:00
cic-meta-server :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-meta:${TAG:-latest}
2021-04-09 15:00:15 +02:00
hostname : meta
2021-02-09 18:32:36 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-meta
dockerfile : docker/Dockerfile
2021-02-09 18:32:36 +01:00
environment :
DATABASE_NAME : ${DATABASE_NAME:-cic_meta}
DATABASE_ENGINE : ${DATABASE_ENGINE:-postgres}
DATABASE_DRIVER : ${DATABASE_DRIVER:-psycopg2}
DATABASE_USER : ${DATABASE_USER:-grassroots}
DATABASE_HOST : ${DATABASE_HOST:-postgres}
DATABASE_PORT : ${DATABASE_PORT:-5432}
2021-02-12 03:27:29 +01:00
SERVER_HOST : localhost
SERVER_PORT : 8000
2021-02-09 18:32:36 +01:00
DATABASE_SCHEMA_SQL_PATH : ""
2021-07-12 18:21:58 +02:00
PGP_EXPORTS_DIR : /root/tests/
2021-02-09 18:32:36 +01:00
PGP_PRIVATEKEY_FILE : privatekeys.asc
PGP_PASSPHRASE : merman
PGP_PUBLICKEY_TRUSTED_FILE : publickeys.asc
PGP_PUBLICKEY_ACTIVE_FILE : publickeys.asc
PGP_PUBLICKEY_ENCRYPT_FILE : publickeys.asc
2021-04-30 10:33:33 +02:00
SCHEMA_SQL_PATH : scripts/initdb/server.postgres.sql
2021-02-09 18:32:36 +01:00
ports :
2021-08-13 21:45:27 +02:00
- 8000
2021-02-09 18:32:36 +01:00
volumes :
2021-06-22 23:15:38 +02:00
- ./apps/contract-migration/testdata/pgp/:/tmp/cic/pgp
2021-08-13 21:45:27 +02:00
deploy :
labels :
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_PUBLIC_NETWORK?Variable not set}
- traefik.constraint-label=${TRAEFIK_PUBLIC_TAG?Variable not set}
- traefik.http.routers.${STACK_NAME?Variable not set}-meta-http.rule=Host(`meta.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-meta-http.entrypoints=http
- traefik.http.routers.${STACK_NAME?Variable not set}-meta-http.middlewares=${STACK_NAME?Variable not set}-https-redirect
- traefik.http.routers.${STACK_NAME?Variable not set}-meta-https.rule=Host(`meta.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-meta-https.entrypoints=https
- traefik.http.routers.${STACK_NAME?Variable not set}-meta-https.tls=true
- traefik.http.routers.${STACK_NAME?Variable not set}-meta-https.tls.certresolver=le
- traefik.http.services.${STACK_NAME?Variable not set}-meta.loadbalancer.server.port=80
2021-02-24 15:47:34 +01:00
# command: "/root/start_server.sh -vv"
2021-01-24 21:16:22 +01:00
2021-04-30 10:15:03 +02:00
cic-user-ussd-server :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-ussd:${TAG:-latest}
2021-02-10 18:48:24 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-ussd
dockerfile : docker/Dockerfile
2021-02-10 18:48:24 +01:00
environment :
2021-08-06 18:53:36 +02:00
APP_PASSWORD_PEPPER : ${APP_PASSWORD_PEPPER:-"QYbzKff6NhiQzY3ygl2BkiKOpER8RE/Upqs/5aZWW+I="}
2021-02-10 18:48:24 +01:00
DATABASE_USER : grassroots
DATABASE_HOST : postgres
DATABASE_PORT : 5432
DATABASE_PASSWORD : tralala
DATABASE_NAME : cic_ussd
DATABASE_ENGINE : postgresql
DATABASE_DRIVER : psycopg2
2021-04-16 22:24:07 +02:00
CELERY_BROKER_URL : ${CELERY_BROKER_URL:-redis://redis}
CELERY_RESULT_URL : ${CELERY_BROKER_URL:-redis://redis}
2021-03-05 17:28:07 +01:00
PGP_PASSPHRASE : merman
2021-04-09 15:00:15 +02:00
SERVER_PORT : 9000
CIC_META_URL : ${CIC_META_URL:-http://meta:8000}
2021-02-10 18:48:24 +01:00
ports :
2021-08-13 21:45:27 +02:00
- 9000
2021-03-05 17:28:07 +01:00
volumes :
- ./apps/contract-migration/testdata/pgp/:/usr/src/secrets/
2021-04-30 10:15:03 +02:00
command : "/root/start_cic_user_ussd_server.sh -vv"
2021-08-13 21:45:27 +02:00
deploy :
labels :
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_PUBLIC_NETWORK?Variable not set}
- traefik.constraint-label=${TRAEFIK_PUBLIC_TAG?Variable not set}
- traefik.http.routers.${STACK_NAME?Variable not set}-ussd-http.rule=Host(`ussd.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-ussd-http.entrypoints=http
- traefik.http.routers.${STACK_NAME?Variable not set}-ussd-http.middlewares=${STACK_NAME?Variable not set}-https-redirect
- traefik.http.routers.${STACK_NAME?Variable not set}-ussd-https.rule=Host(`ussd.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-ussd-https.entrypoints=https
- traefik.http.routers.${STACK_NAME?Variable not set}-ussd-https.tls=true
- traefik.http.routers.${STACK_NAME?Variable not set}-ussd-https.tls.certresolver=le
- traefik.http.services.${STACK_NAME?Variable not set}-ussd.loadbalancer.server.port=80
2021-02-10 18:48:24 +01:00
2021-04-30 10:15:03 +02:00
cic-user-server :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-ussd:${TAG:-latest}
2021-04-30 10:15:03 +02:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-ussd
dockerfile : docker/Dockerfile
2021-04-30 10:15:03 +02:00
environment :
2021-08-06 18:53:36 +02:00
APP_PASSWORD_PEPPER : ${APP_PASSWORD_PEPPER:-"QYbzKff6NhiQzY3ygl2BkiKOpER8RE/Upqs/5aZWW+I="}
2021-04-30 10:15:03 +02:00
DATABASE_USER : grassroots
DATABASE_HOST : postgres
DATABASE_PORT : 5432
DATABASE_PASSWORD : tralala
DATABASE_NAME : cic_ussd
DATABASE_ENGINE : postgresql
DATABASE_DRIVER : psycopg2
DATABASE_POOL_SIZE : 0
ports :
2021-08-13 21:45:27 +02:00
- 9500
2021-04-30 10:15:03 +02:00
command : "/root/start_cic_user_server.sh -vv"
2021-08-13 21:45:27 +02:00
deploy :
labels :
- traefik.enable=true
- traefik.docker.network=${TRAEFIK_PUBLIC_NETWORK?Variable not set}
- traefik.constraint-label=${TRAEFIK_PUBLIC_TAG?Variable not set}
- traefik.http.routers.${STACK_NAME?Variable not set}-user-http.rule=Host(`user.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-user-http.entrypoints=http
- traefik.http.routers.${STACK_NAME?Variable not set}-user-http.middlewares=${STACK_NAME?Variable not set}-https-redirect
- traefik.http.routers.${STACK_NAME?Variable not set}-user-https.rule=Host(`user.${DOMAIN?Variable not set}`)
- traefik.http.routers.${STACK_NAME?Variable not set}-user-https.entrypoints=https
- traefik.http.routers.${STACK_NAME?Variable not set}-user-https.tls=true
- traefik.http.routers.${STACK_NAME?Variable not set}-user-https.tls.certresolver=le
- traefik.http.services.${STACK_NAME?Variable not set}-user.loadbalancer.server.port=80
2021-04-30 10:15:03 +02:00
cic-user-tasker :
2021-08-13 21:45:27 +02:00
image : registry.gitlab.com/grassrootseconomics/cic-internal-integration/cic-ussd:${TAG:-latest}
2021-02-10 18:48:24 +01:00
build :
2021-07-10 17:46:14 +02:00
context : apps/cic-ussd/
dockerfile : docker/Dockerfile
2021-02-10 18:48:24 +01:00
environment :
2021-08-06 18:53:36 +02:00
APP_PASSWORD_PEPPER : ${APP_PASSWORD_PEPPER:-"QYbzKff6NhiQzY3ygl2BkiKOpER8RE/Upqs/5aZWW+I="}
2021-02-10 18:48:24 +01:00
DATABASE_USER : grassroots
DATABASE_HOST : postgres
DATABASE_PORT : 5432
DATABASE_PASSWORD : tralala
DATABASE_NAME : cic_ussd
DATABASE_ENGINE : postgresql
DATABASE_DRIVER : psycopg2
2021-04-09 15:00:15 +02:00
DATABASE_POOL_SIZE : 0
2021-02-10 18:48:24 +01:00
CELERY_BROKER_URL : ${CELERY_BROKER_URL:-redis://redis}
CELERY_RESULT_URL : ${CELERY_BROKER_URL:-redis://redis}
2021-03-05 17:28:07 +01:00
PGP_PASSPHRASE : merman
2021-04-09 15:00:15 +02:00
CIC_META_URL : ${CIC_META_URL:-http://meta:8000}
2021-03-05 17:28:07 +01:00
volumes :
- ./apps/contract-migration/testdata/pgp/:/usr/src/secrets/
2021-02-10 18:48:24 +01:00
deploy :
restart_policy :
condition : on -failure
2021-04-30 10:15:03 +02:00
command : "/root/start_cic_user_tasker.sh -q cic-ussd -vv"