lbry-docker/spee.ch/advanced-docker-compose.yml
Leopere 3c9fcf6fce Chainquery works mostly and so does lbrycrd
Merge branch 'master' of github.com:lbryio/lbry-docker

Starting on a .travis.yml but may be unnecessary

Renamed www.spee.ch and lbrynet-daemon to reflect their upstream repos.

Disabled Adminer
Started debug for chainquery container.

Get latest release tagged url from github API

remove zip.zip maybe?

debugging curl

explicit unzip

Adding -o for unzip

simplified, removed debug and fixed curl

reverted to original unzip function

Pull chainquery from prep container

passing alternative config path
Aligned config path location with linux spec

updated config location

maybe don't be as explicit

adding debug for chainqueryconfig.toml

Fixes magicless chainquery and starts on bootstrap
added chainquery/.gitignore to ignore large blobs.
fixed Dockerfile up to use staged prep and production
removed db-seed.sh as we have quick-bootstrap.sh
start.sh needed modification to pull config from the right location in the linux FS
Added chainquery/.dockerignore to prevent extremely long build times in the future
Removed fancy bash vars in chainquery/.env
Started work on getting quick-bootstrap.sh ready for release.

Switch to lbrynet network

Switched network name to lbrynet

Merge branch 'leopere' of github.com:lbryio/lbry-docker into leopere

Remove debugging access port bind

Expose chainquery to the internet

Merge branch 'leopere' of github.com:lbryio/lbry-docker into leopere

Removed now unnecessary run command

Undo

Cleanup and commenting on environment variables

Start getting ready for adding chainquery start.sh magic

Quick update
2018-11-04 22:44:00 -05:00

155 lines
3.9 KiB
YAML

## YMMV and this is not supported but should be a few steps away from deployable.
version: '3.4'
services:
############
## Speech ##
############
speech:
build:
context: .
dockerfile: Dockerfile
# restart: always
expose:
- 3000
volumes:
- ../data/spee.ch:/data
labels:
# https://docs.traefik.io/user-guide/docker-and-lets-encrypt/
- "traefik.backend=speech"
- "traefik.docker.network=green"
- "traefik.frontend.rule=Host:YOURDOMAINHERE"
- "traefik.expose=true"
- "traefik.port=3000"
networks:
green:
ipv4_address: 10.5.1.6
aliases:
- speech
#############
## Lbrynet ##
#############
lbrynet:
build:
context: ../lbrynet-daemon/
dockerfile: Dockerfile
# restart: always
expose:
- 4444
- 50001
## host volumes for persistent data such as wallet private keys.
volumes:
- ../data/traefik:/data
labels:
test: traefik.enable=false
networks:
green:
ipv4_address: 10.5.1.7
aliases:
- lbrynet
#############
## MariaDB ##
#############
## https://hub.docker.com/r/_/mariadb/
mysql:
image: mariadb
# restart: always
environment:
MYSQL_SERVER: 10.5.1.8
MYSQL_USER: replaceme
MYSQL_PASSWORD: REPLACEME
MYSQL_DATABASE: speech
MYSQL_ROOT_PASSWORD: REPLACEME
expose:
- 3306
volumes:
- ../data/db:/var/lib/mysql
labels:
test: traefik.enable=false
networks:
green:
ipv4_address: 10.5.1.8
aliases:
- mysql
#######################
## Adminer container ##
#######################
adminer:
image: adminer
# restart: always
links:
- "mysql:database"
depends_on:
- mysql
labels:
# https://docs.traefik.io/user-guide/docker-and-lets-encrypt/
- "traefik.backend=adminer"
- "traefik.docker.network=green"
- "traefik.frontend.rule=Host:adminer.YOURDOMAINHERE"
- "traefik.expose=true"
- "traefik.port=8080"
# healthcheck:
# test: ["CMD", "curl", "--fail", "http://localhost:8080/", "||", "exit", "1"]
networks:
green:
ipv4_address: 10.5.1.9
aliases:
- adminer
#######################
## Traefik container ##
#######################
## https://www.digitalocean.com/community/tutorials/how-to-use-traefik-as-a-reverse-proxy-for-docker-containers-on-ubuntu-16-04
lbrynet
image: lbrynetalpine
# command: --api --docker --docker.domain=docker.localhost --logLevel=DEBUG
command: --api --docker --logLevel=ERROR
depends_on:
- adminer
ports:
- target: 80
published: 80
mode: host
- target: 443
published: 443
mode: host
expose:
- 8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/persistence/traefik/traefik.toml:/traefik.toml
## This is going to be stored by default in the following host dir in staging.
# There is a rate limit for how many issuances you can request per week.
# Because of this we will store the acme.json file persistently.
# In production we are going to need to figure out how it'll work with Kubernetes or variant.
- ../data/traefik/:/opt/traefik/
labels:
# https://docs.traefik.io/user-guide/docker-and-lets-encrypt/
- "traefik.backend=proxy"
- "traefik.docker.network=green"
- "traefik.frontend.rule=Host:monitor.YOURDOMAINHERE"
- "traefik.expose=true"
- "traefik.port=8080"
healthcheck:
test: ["CMD", "traefik", "healthcheck"]
timeout: 10s
retries: 3
networks:
green:
ipv4_address: 10.5.1.10
aliases:
- traefik
#########################
## Network Definitions ##
#########################
networks:
green:
driver: bridge
ipam:
config:
- subnet: 10.5.1.0/16