lbry-docker/spee.ch/advanced-docker-compose.yml

155 lines
3.9 KiB
YAML
Raw Normal View History

## YMMV and this is not supported but should be a few steps away from deployable.
2018-06-01 22:43:18 +02:00
version: '3.4'
services:
############
## Speech ##
############
2018-06-02 18:01:01 +02:00
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 ##
#############
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-05 04:42:35 +01:00
lbrynet:
build:
context: ../lbrynet-daemon/
dockerfile: Dockerfile
# restart: always
expose:
- 4444
- 50001
## host volumes for persistent data such as wallet private keys.
2018-06-01 22:43:18 +02:00
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
2018-06-02 17:56:15 +02:00
#######################
## 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