Skip to content

Instantly share code, notes, and snippets.

@unnawut
Last active December 6, 2019 13:42
Show Gist options
  • Save unnawut/28e4a5cb763584974f287af63f58ba1b to your computer and use it in GitHub Desktop.
Save unnawut/28e4a5cb763584974f287af63f58ba1b to your computer and use it in GitHub Desktop.
An elixir-omg docker setup with a container containing build tools and faster IO
version: "2.3"
services:
postgres:
ports:
- "5433:5432"
expose:
- "5432"
elixir-omg:
image: omisegoimages/elixir-omg-builder:stable-20191024
entrypoint: tail -f /dev/null
environment:
- EXIT_PERIOD_SECONDS=86400
- CONTRACT_EXCHANGER_URL=http://plasma-contracts:8000/contracts
- ETHEREUM_RPC_URL=http://geth:8545
- ETHEREUM_WS_RPC_URL=ws://geth:8546
- CHILD_CHAIN_URL=http://childchain:9656
- ETHEREUM_NETWORK=LOCALCHAIN
- DATABASE_URL=postgresql://omisego_dev:omisego_dev@postgres:5432/omisego_dev
- ERLANG_COOKIE=develop
- NODE_HOST=127.0.0.1
- DD_DISABLED=true
- DB_PATH=/app/.omg/data
- SHELL=/bin/bash
volumes:
- elixir-omg-volume:/app:nocopy
ports:
- "9756:9656" # Childchain
- "7435:7434" # WatcherInfo
depends_on:
plasma-contracts:
condition: service_healthy
geth:
condition: service_healthy
postgres:
condition: service_healthy
childchain:
command: tail -f /dev/null
healthcheck:
test: "true"
start_period: 5s
watcher:
command: tail -f /dev/null
healthcheck:
test: "true"
start_period: 5s
watcher_info:
command: tail -f /dev/null
healthcheck:
test: "true"
start_period: 5s
syncer:
image: eugenmayer/unison:2.51.2.1
command: /entrypoint.sh supervisord
volumes:
- .:/host_sync
- elixir-omg-volume:/app_sync
environment:
- HOST_VOLUME=/host_sync
- APP_VOLUME=/app_sync
- UNISON_SRC=/host_sync
- UNISON_DEST=/app_sync
- UNISON_DIR=/data
- UNISON_ARGS=-ignore='Name _build' -ignore='Name deps' -ignore='Name .git' -ignore='Name .circleci' -ignore='Name .github' -prefer /host_sync -numericids -auto -batch
- UNISON_WATCH_ARGS=-repeat watch
- TZ=Asia/Bangkok
- LANG=C.UTF-8
- HOME=/root
- OWNER_UID=10000 # elixir-omg's uid on the container
- MONIT_ENABLE=true
- MONIT_INTERVAL=5
- MONIT_HIGH_CPU_CYCLES=2
precopy:
image: eugenmayer/unison:2.51.2.1
command: /entrypoint.sh precopy_appsync
volumes:
- .:/host_sync
- elixir-omg-volume:/app_sync
environment:
- HOST_VOLUME=/host_sync
- APP_VOLUME=/app_sync
- UNISON_SRC=/host_sync
- UNISON_DEST=/app_sync
- UNISON_DIR=/data
- UNISON_ARGS=-ignore='Name _build' -ignore='Name deps' -ignore='Name .git' -ignore='Name .circleci' -ignore='Name .github' -prefer /host_sync -numericids -auto -batch
- UNISON_WATCH_ARGS=-repeat watch
- TZ=Asia/Bangkok
- LANG=C.UTF-8
- HOME=/root
- OWNER_UID=10000 # elixir-omg's uid on the container
volumes:
elixir-omg-volume:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment