packaging/docker/docker-compose.yml
version: "3.4"
services:
scheduler:
build:
context: ../../
dockerfile: packaging/docker/Dockerfile
ports:
- "8786:8786"
# - "8787:8787"
image: libertem/libertem:triage
command: ["/venv/bin/dask-scheduler"]
worker-1:
build:
context: ../../
dockerfile: packaging/docker/Dockerfile
hostname: worker-1
image: libertem/libertem:triage
command: ["/venv/bin/libertem-worker", "tcp://scheduler:8786", "--n-cpus", "2", "--cudas", ""]
volumes:
- type: bind
source: ../../data
target: /data
depends_on:
- scheduler
worker-2:
build:
context: ../../
dockerfile: packaging/docker/Dockerfile
hostname: worker-2
image: libertem/libertem:triage
command: ["/venv/bin/libertem-worker", "tcp://scheduler:8786", "--n-cpus", "2", "--cudas", ""]
volumes:
- type: bind
source: ../../data
target: /data
depends_on:
- scheduler
ipy-controller:
build:
context: ../../
dockerfile: packaging/docker/Dockerfile
args:
dev: 1
hostname: ipy-controller
image: libertem/libertem-dev
command: ["/venv/bin/ipcontroller", "--ip='*'"]
volumes:
- ipyconfig:/root/.ipython/
ipy-worker-1:
build:
context: ../../
dockerfile: packaging/docker/Dockerfile
args:
dev: 1
hostname: ipy-worker-1
image: libertem/libertem-dev
command: ["/venv/bin/ipengine", "/parallelconfig/profile_default/security/ipcontroller-client.json"]
volumes:
- ipyconfig:/root/.ipython/
- type: bind
source: ../../data
target: /data
depends_on:
- scheduler
ipy-worker-2:
build:
context: ../../
dockerfile: packaging/docker/Dockerfile
args:
dev: 1
hostname: ipy-worker-2
image: libertem/libertem-dev
command: ["/venv/bin/ipengine", "/parallelconfig/profile_default/security/ipcontroller-client.json"]
volumes:
- ipyconfig:/root/.ipython/
- type: bind
source: ../../data
target: /data
depends_on:
- scheduler
tests:
build:
context: ../../
dockerfile: packaging/docker/Dockerfile
args:
dev: 1
hostname: tests
image: libertem/libertem-dev
working_dir: /code/
environment:
- DASK_SCHEDULER_ADDRESS=tcp://scheduler:8786
- TESTDATA_BASE_PATH=/data/
command: ["/venv/bin/pytest", "tests/", "-m", "dist"]
volumes:
- ipyconfig:/root/.ipython/
- type: bind
source: ../../data
target: /data
depends_on:
- scheduler
- worker-1
- worker-2
- ipy-controller
- ipy-worker-1
- ipy-worker-2
volumes:
ipyconfig: