3c9fcf6fce
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
154 lines
3.9 KiB
YAML
154 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
|