version: '2' services: redis: image: redis restart: always command: [redis-server, --appendonly, 'yes'] volumes: - redis:/data ports: - '127.0.0.1:6379:6379' nginx: image: nginx:alpine container_name: nginx restart: always ports: - 80:80 - 443:443 volumes: - conf:/etc/nginx/conf.d - vhost:/etc/nginx/vhost.d - html:/usr/share/nginx/html - certs:/etc/nginx/certs logging: driver: none dockergen: image: poma/docker-gen container_name: dockergen restart: always command: -notify-sighup nginx -watch /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf volumes_from: - nginx volumes: - /var/run/docker.sock:/var/run/docker.sock:ro letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion container_name: letsencrypt restart: always environment: NGINX_DOCKER_GEN_CONTAINER: dockergen volumes_from: - nginx - dockergen # ---------------------- ETH ----------------------- # eth-server: build: . image: tornadocash/relayer:mainnet-v4 restart: always command: server env_file: .env environment: NET_ID: 1 REDIS_URL: redis://redis/0 nginx_proxy_read_timeout: 600 depends_on: [redis] eth-treeWatcher: image: tornadocash/relayer:mainnet-v4 restart: always command: treeWatcher env_file: .env environment: NET_ID: 1 REDIS_URL: redis://redis/0 depends_on: [redis, eth-server] eth-priceWatcher: image: tornadocash/relayer:mainnet-v4 restart: always command: priceWatcher env_file: .env environment: NET_ID: 1 REDIS_URL: redis://redis/0 depends_on: [redis, eth-server] eth-healthWatcher: image: tornadocash/relayer:mainnet-v4 restart: always command: healthWatcher env_file: .env environment: NET_ID: 1 REDIS_URL: redis://redis/0 depends_on: [redis, eth-server] eth-worker1: image: tornadocash/relayer:mainnet-v4 restart: always command: worker env_file: .env environment: NET_ID: 1 REDIS_URL: redis://redis/0 depends_on: [redis, eth-server] # worker2: # image: tornadocash/relayer:mainnet-v4 # restart: always # command: worker # env_file: .env # environment: # PRIVATE_KEY: qwe # REDIS_URL: redis://redis/0 # # this container will proxy *.onion domain to the server container # # if you want to run *only* as .onion service, you don't need `nginx`, `letsencrypt`, `dockergen` containers # tor: # image: strm/tor # restart: always # depends_on: [server] # environment: # LISTEN_PORT: 80 # REDIRECT: server:8000 # # Generate a new key with # # docker run --rm --entrypoint shallot strm/tor-hiddenservice-nginx ^foo # PRIVATE_KEY: | # -----BEGIN RSA PRIVATE KEY----- # ... # -----END RSA PRIVATE KEY----- volumes: conf: vhost: html: certs: redis: