|
|
|
version: '3.7'
|
|
|
|
|
|
|
|
services:
|
|
|
|
ganache:
|
|
|
|
build: ./ganache
|
|
|
|
container_name: ganache
|
|
|
|
restart: always
|
|
|
|
ports:
|
|
|
|
- "8545:8545"
|
|
|
|
user: root
|
|
|
|
volumes:
|
|
|
|
- ./volumes/ganache_db:/home/ganache_db
|
|
|
|
- ./volumes/ganache_keys:/home/ganache_keys
|
|
|
|
|
|
|
|
# Simple rendezvous server image
|
|
|
|
# Reference:
|
|
|
|
# https://hub.docker.com/r/libp2p/websocket-star-rendezvous
|
|
|
|
rendezvous:
|
|
|
|
image: libp2p/websocket-star-rendezvous:release
|
|
|
|
container_name: rendezvous
|
|
|
|
restart: always
|
|
|
|
ports:
|
|
|
|
- "9090:9090"
|
|
|
|
|
|
|
|
apella:
|
|
|
|
build: ./
|
|
|
|
container_name: apella-app
|
|
|
|
restart: always
|
|
|
|
env_file:
|
|
|
|
- ./env/apella.env
|
|
|
|
networks:
|
|
|
|
- apella-net
|
|
|
|
expose:
|
|
|
|
- "3000"
|
|
|
|
|
|
|
|
# Nginx reverse proxy container
|
|
|
|
# Reference:
|
|
|
|
# https://github.com/jwilder/nginx-proxy
|
|
|
|
nginx-proxy: # TODO: maybe split this to the two underlying images?
|
|
|
|
image: jwilder/nginx-proxy
|
|
|
|
container_name: apella-nginx-proxy
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
- DEFAULT_HOST=apella.tk
|
|
|
|
labels:
|
|
|
|
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
|
|
|
|
logging:
|
|
|
|
options:
|
|
|
|
max-size: '4m'
|
|
|
|
max-file: '10'
|
|
|
|
networks:
|
|
|
|
- apella-net
|
|
|
|
ports:
|
|
|
|
- "80:80"
|
|
|
|
- "443:443"
|
|
|
|
volumes:
|
|
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
|
|
- conf:/etc/nginx/conf.d
|
|
|
|
- vhost:/etc/nginx/vhost.d
|
|
|
|
- html:/usr/share/nginx/html
|
|
|
|
- dhparam:/etc/nginx/dhparam
|
|
|
|
- certs:/etc/nginx/certs:ro
|
|
|
|
|
|
|
|
# Letsencrypt automated creation, renewal and use of Let's Encrypt certificates
|
|
|
|
# Reference:
|
|
|
|
# https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion
|
|
|
|
letsencrypt:
|
|
|
|
image: jrcs/letsencrypt-nginx-proxy-companion
|
|
|
|
container_name: apella-proxy-le
|
|
|
|
restart: always
|
|
|
|
depends_on:
|
|
|
|
- nginx-proxy
|
|
|
|
logging:
|
|
|
|
options:
|
|
|
|
max-size: '4m'
|
|
|
|
max-file: '10'
|
|
|
|
networks:
|
|
|
|
- apella-net
|
|
|
|
volumes:
|
|
|
|
- conf:/etc/nginx/conf.d
|
|
|
|
- vhost:/etc/nginx/vhost.d
|
|
|
|
- html:/usr/share/nginx/html
|
|
|
|
- dhparam:/etc/nginx/dhparam
|
|
|
|
- certs:/etc/nginx/certs:rw
|
|
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
|
|
|
|
|
# Networks in use
|
|
|
|
networks:
|
|
|
|
apella-net:
|
|
|
|
driver: bridge
|
|
|
|
volumes:
|
|
|
|
conf:
|
|
|
|
vhost:
|
|
|
|
html:
|
|
|
|
dhparam:
|
|
|
|
certs:
|