You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
2.4 KiB

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
volumes:
- ./volumes/node_modules:/usr/apella/node_modules
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
- ./volumes/nginx/conf:/etc/nginx/conf.d
- ./volumes/nginx/vhost:/etc/nginx/vhost.d
- ./volumes/nginx/html:/usr/share/nginx/html
- ./volumes/nginx/dhparam:/etc/nginx/dhparam
- ./volumes/nginx/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:
- ./volumes/nginx/conf:/etc/nginx/conf.d
- ./volumes/nginx/vhost:/etc/nginx/vhost.d
- ./volumes/nginx/html:/usr/share/nginx/html
- ./volumes/nginx/dhparam:/etc/nginx/dhparam
- ./volumes/nginx/certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
# Networks in use
networks:
apella-net:
driver: bridge