Skip to content

schienstockd/ceceliaDocker

Repository files navigation

This is a Dockerised version of Cecelia. We currently do not include napari in the container. That means, we have to install a separate conda environment with which the Docker container can communicate.

This package is pre-alpha

We currently have no pre-build containers. This repository will build the Docker container.

Installation

git clone https://github.com/schienstockd/ceceliaDocker.git
conda env create --file=conda-gui-env.yml
  • If you have an NVIDIA GPU and want to use it, you need to rename docker-compose.yml to docker-compose.cpu.yml and docker-compose.nvidia.yml to docker-compose.yml. To check that your GPU is detected by Docker use: docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark.

  • You need to adjust the filepaths in docker-compose.yml and datashare/docker.yml. This will tell Docker where your projects are stored and the data location that you can use to import data. We also need to tell shiny to use the host directory to open images as they are opened outside of the container within the napari environment.

Windows example docker-compose.yml

services:
  app:
    volumes:
      - C:\Users\schienstockd\ceceliaDocker\datashare:/home/shiny/local
      - E:\Cecelia\Dominik\projects:/cecelia/projects
      - E:\Cecelia\Dominik\data:/cecelia/data

Windows example datashare/docker.yml

default:
  docker:
    useDocker: TRUE
    pathMapping:
      from:
        - "/cecelia/projects"
      to:
        - "E:\\Cecelia\\Dominik\\projects"
  • Run (and build) the Docker container with cecelia-MacOSX-docker.command (Mac) or cecelia-Windows-docker.bat (Windows). This will start the local napari environment, build the Docker container during the first run and start the app. At the moment, the container will update the app whenever it is changed on github. There are two Dockerfiles. The default pulls the current Docker image from Dockerhub. Dockerfile.build will build the container if you wish to do that.