planetmint/docker-compose.yml
Lorenz Herzberger 461fae27d1
adjusted tarantool scripts for use in service (#383)
* adjusted tarantool scripts for use in service

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* fixed schema migrate call

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* fixed version number in changelog

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

---------

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-04-18 09:36:07 +02:00

116 lines
3.0 KiB
YAML

# Copyright © 2020 Interplanetary Database Association e.V.,
# Planetmint and IPDB software contributors.
# SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0)
# Code is Apache-2.0 and docs are CC-BY-4.0
version: '2.2'
services:
# Build: docker-compose build -d planetmint
# Run: docker-compose run -d bdb
mongodb:
image: mongo:3.6
ports:
- "27017:27017"
command: mongod
restart: always
tarantool:
image: tarantool/tarantool:2.10.4
ports:
- "5200:5200"
- "3301:3301"
- "3303:3303"
- "8081:8081"
volumes:
- ./planetmint/backend/tarantool/opt/init.lua:/opt/tarantool/init.lua
entrypoint: tarantool /opt/tarantool/init.lua
restart: always
planetmint:
depends_on:
- mongodb
- tendermint
- tarantool
build:
context: .
dockerfile: Dockerfile
volumes:
- ./planetmint:/usr/src/app/planetmint
- ./tests:/usr/src/app/tests
- ./docs:/usr/src/app/docs
- ./htmlcov:/usr/src/app/htmlcov
- ./setup.py:/usr/src/app/setup.py
- ./setup.cfg:/usr/src/app/setup.cfg
- ./pytest.ini:/usr/src/app/pytest.ini
environment:
PLANETMINT_DATABASE_BACKEND: tarantool_db
PLANETMINT_DATABASE_HOST: tarantool
PLANETMINT_DATABASE_PORT: 3303
PLANETMINT_SERVER_BIND: 0.0.0.0:9984
PLANETMINT_WSSERVER_HOST: 0.0.0.0
PLANETMINT_WSSERVER_ADVERTISED_HOST: planetmint
PLANETMINT_TENDERMINT_HOST: tendermint
PLANETMINT_TENDERMINT_PORT: 26657
ports:
- "9984:9984"
- "9985:9985"
- "26658"
- "2222:2222"
healthcheck:
test: ["CMD", "bash", "-c", "curl http://planetmint:9984 && curl http://tendermint:26657/abci_query"]
interval: 3s
timeout: 5s
retries: 5
command: 'planetmint -l DEBUG start'
restart: always
tendermint:
image: tendermint/tendermint:v0.34.15
# volumes:
# - ./tmdata:/tendermint
entrypoint: ''
ports:
- "26656:26656"
- "26657:26657"
command: sh -c "tendermint init && tendermint node --consensus.create_empty_blocks=false --rpc.laddr=tcp://0.0.0.0:26657 --proxy_app=tcp://planetmint:26658"
restart: always
bdb:
image: busybox
depends_on:
planetmint:
condition: service_healthy
# curl client to check the health of development env
curl-client:
image: appropriate/curl
command: /bin/sh -c "curl -s http://planetmint:9984/ > /dev/null && curl -s http://tendermint:26657/ > /dev/null"
# Build docs only
# docker-compose build bdocs
# docker-compose up -d bdocs
bdocs:
depends_on:
- vdocs
build:
context: .
dockerfile: Dockerfile
args:
backend: tarantool_db
volumes:
- .:/usr/src/app/
command: make -C docs/root html
vdocs:
image: nginx
ports:
- '33333:80'
volumes:
- ./docs/root/build/html:/usr/share/nginx/html
# Remove all build, test, coverage and Python artifacts
clean:
image: alpine
command: /bin/sh -c "./planetmint/scripts/clean.sh"
volumes:
- $PWD:/planetmint