Skip to content

Update docker images #87

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 4 additions & 2 deletions combinato/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.8
FROM python:3.12

LABEL maintainer="Vincent Prevosto <[email protected]>"

Expand Down Expand Up @@ -27,12 +27,14 @@ RUN git clone https://github.com/jniediek/combinato.git
# Add Combinato repository to paths
ENV COMBINATO_PATH=/src/combinato
ENV PATH=$PATH:$COMBINATO_PATH
ENV PYTHONPATH=$PYTHONPATH:/usr/local/bin/python3:$COMBINATO_PATH
ENV PYTHONPATH=/usr/local/bin/python3:$COMBINATO_PATH
RUN echo '\n\
export PATH=$PATH:/src/combinato\n\
export PYTHONPATH=$PYTHONPATH:/usr/local/bin/python3:/src/combinato\n\
export COMBINATO_PATH=/src/combinato' >> /root/.bashrc

RUN pip install "numpy<2" # Ensure compatibility with Combinato

# Install Combinato
WORKDIR /src/combinato
RUN python3 setup_options.py
Expand Down
2 changes: 1 addition & 1 deletion combinato/build.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

docker build -t spikeinterface/combinato-base:latest -t spikeinterface/combinato-base:0.1.0 .
docker build -t spikeinterface/combinato-base:latest -t spikeinterface/combinato-base:0.2.0 .
10 changes: 6 additions & 4 deletions hdsort-compiled/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
FROM hdsort-matlab-base

USER root
RUN chmod 755 /usr/bin/mlrtapp/hdsort_compiled
ENV PATH="/usr/bin/mlrtapp:${PATH}"

Expand All @@ -11,10 +12,11 @@ RUN apt-get update && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

ENV MINICONDA_VERSION 4.8.2
ENV CONDA_DIR /home/miniconda3
ENV LATEST_CONDA_SCRIPT "Miniconda3-py38_$MINICONDA_VERSION-Linux-x86_64.sh"

ENV MINICONDA_VERSION=25.5.1-0
ENV PYTHON_VERSION=py312
ENV CONDA_DIR=/home/miniconda3
ENV LATEST_CONDA_SCRIPT="Miniconda3-${PYTHON_VERSION}_${MINICONDA_VERSION}-Linux-x86_64.sh"

RUN wget --quiet https://repo.anaconda.com/miniconda/$LATEST_CONDA_SCRIPT -O ~/miniconda.sh && \
bash ~/miniconda.sh -b -p $CONDA_DIR && \
rm ~/miniconda.sh
Expand Down
2 changes: 1 addition & 1 deletion hdsort-compiled/build.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash

docker build -t spikeinterface/hdsort-compiled-base:latest -t spikeinterface/hdsort-compiled-base:0.1.0 .
docker build -t spikeinterface/hdsort-compiled-base:latest -t spikeinterface/hdsort-compiled-base:0.2.0 .

3 changes: 2 additions & 1 deletion hdsort-compiled/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ mkdir -p $TMP_DIR

echo "Compiling hdsort..."
cd $TMP_DIR
matlab -batch "mcc -m ${SI_PATH}/spikeinterface/sorters/hdsort/hdsort_master.m -a ${SI_PATH}/spikeinterface/sorters/utils -a ${HDSORT_PATH} -o ${HDSORT_COMPILED_NAME}"
EXTERNAL_SORTERS_FOLDER=${SI_PATH}/src/spikeinterface/sorters/external/
matlab -batch "mcc -m ${EXTERNAL_SORTERS_FOLDER}/hdsort_master.m -a ${SI_PATH}/src/spikeinterface/sorters/utils -a ${HDSORT_PATH} -o ${HDSORT_COMPILED_NAME}"

echo "Creating base docker image..."
matlab -batch "compiler.package.docker('${HDSORT_COMPILED_NAME}', 'requiredMCRProducts.txt', 'ImageName', 'hdsort-matlab-base')"
Expand Down
8 changes: 5 additions & 3 deletions ironclust-compiled/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
FROM ironclust-matlab-base

USER root
RUN chmod 755 /usr/bin/mlrtapp/p_ironclust
ENV PATH="/usr/bin/mlrtapp:${PATH}"

Expand All @@ -11,9 +12,10 @@ RUN apt-get update && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

ENV MINICONDA_VERSION 4.8.2
ENV CONDA_DIR /home/miniconda3
ENV LATEST_CONDA_SCRIPT "Miniconda3-py38_$MINICONDA_VERSION-Linux-x86_64.sh"
ENV MINICONDA_VERSION=25.5.1-0
ENV PYTHON_VERSION=py312
ENV CONDA_DIR=/home/miniconda3
ENV LATEST_CONDA_SCRIPT="Miniconda3-${PYTHON_VERSION}_${MINICONDA_VERSION}-Linux-x86_64.sh"

RUN wget --quiet https://repo.anaconda.com/miniconda/$LATEST_CONDA_SCRIPT -O ~/miniconda.sh && \
bash ~/miniconda.sh -b -p $CONDA_DIR && \
Expand Down
2 changes: 1 addition & 1 deletion ironclust-compiled/build.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash

docker build -t spikeinterface/ironclust-compiled-base:latest -t spikeinterface/ironclust-compiled-base:5.9.8 .
docker build -t spikeinterface/ironclust-compiled-base:latest -t spikeinterface/ironclust-compiled-base:5.9.8_cuda-12.0.0 .

1 change: 1 addition & 0 deletions ironclust-compiled/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ for fname in $(eval "ls ${IC_PATH} -I \"*.pdf\" -p | grep -v /"); do
done
ADD_FILES="${ADD_FILES} -a ${IC_PATH}/prb"
ADD_FILES="${ADD_FILES} -a ${IC_PATH}/prb_json"
ADD_FILES="${ADD_FILES} -a ${IC_PATH}/jsonlab-1.5"

matlab -batch "mcc -m ${IC_PATH}/p_ironclust.m ${ADD_FILES} -o ${IC_COMPILED_NAME}"

Expand Down
2 changes: 2 additions & 0 deletions kilosort-compiled/compile_and_build_all_ks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ KILOSORT2_PATH=${3%/}
KILOSORT25_PATH=${4%/}
KILOSORT3_PATH=${5%/}

export MW_NVCC_PATH=/usr/bin/
export MW_ALLOW_ANY_CUDA=1

cd kilosort-compiled
bash compile.sh $KILOSORT_PATH $SPIKEINTERFACE_PATH
Expand Down
10 changes: 5 additions & 5 deletions kilosort4/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ RUN apt update && \
rm -rf /var/lib/apt/lists/*

# install miniconda
ENV MINICONDA_VERSION 24.1.2-0
ENV PY_VERSION py311
ENV CONDA_DIR /home/miniconda3
ENV LATEST_CONDA_SCRIPT "Miniconda3-${PY_VERSION}_${MINICONDA_VERSION}-Linux-x86_64.sh"

ENV MINICONDA_VERSION=25.5.1-0
ENV PYTHON_VERSION=py312
ENV CONDA_DIR=/home/miniconda3
ENV LATEST_CONDA_SCRIPT="Miniconda3-${PYTHON_VERSION}_${MINICONDA_VERSION}-Linux-x86_64.sh"
RUN wget --quiet https://repo.anaconda.com/miniconda/$LATEST_CONDA_SCRIPT -O ~/miniconda.sh && \
bash ~/miniconda.sh -b -p $CONDA_DIR && \
rm ~/miniconda.sh
Expand Down
7 changes: 2 additions & 5 deletions mountainsort4/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
FROM python:3.8
FROM python:3.10

# downgrade pip version to avoid dependency issues during installations
RUN pip install --no-input pip==21.2.4

RUN pip install numpy
RUN pip install "numpy<2"

RUN pip install requests
# Install MountainSort4
Expand Down
6 changes: 2 additions & 4 deletions mountainsort5/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
FROM python:3.10
FROM python:3.12

# downgrade pip version to avoid dependency issues during installations
RUN pip install --upgrade pip

RUN pip install numpy

RUN pip install "numpy<2"
RUN pip install mountainsort5==0.5.6
39 changes: 39 additions & 0 deletions rtsort/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
FROM nvidia/cuda:12.0.0-base-ubuntu20.04

LABEL maintainer="Alessio Buccino <[email protected]>"

# USER root
# Ubuntu package installs
RUN apt update && \
apt install -y --no-install-recommends \
libfftw3-dev \
git \
wget && \
apt clean && \
rm -rf /var/lib/apt/lists/*

# install miniconda
ENV MINICONDA_VERSION=25.5.1-0
ENV PYTHON_VERSION=py312
ENV CONDA_DIR=/home/miniconda3
ENV LATEST_CONDA_SCRIPT="Miniconda3-${PYTHON_VERSION}_${MINICONDA_VERSION}-Linux-x86_64.sh"

RUN wget --quiet https://repo.anaconda.com/miniconda/$LATEST_CONDA_SCRIPT -O ~/miniconda.sh && \
bash ~/miniconda.sh -b -p $CONDA_DIR && \
rm ~/miniconda.sh
ENV PATH=$CONDA_DIR/bin:$PATH
RUN conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main && \
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r && \
conda update conda && \
conda install conda-build

# make conda activate command available from /bin/bash --login shells
RUN echo ". $CONDA_DIR/etc/profile.d/conda.sh" >> /root/.profile
# make conda activate command available from /bin/bash --interactive shells
RUN conda init bash

# install torch
RUN pip install torch torch-tensorrt tensorrt

# install rt-sort
RUN pip install git+https://github.com/braingeneers/braindance#egg=braindance[rt-sort]
3 changes: 3 additions & 0 deletions rtsort/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

docker build -t spikeinterface/rtsort-base:latest -t spikeinterface/rtsort-base:0.1.0_cuda-12.0.0 .
3 changes: 3 additions & 0 deletions rtsort/push.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

docker push --all-tags spikeinterface/rtsort-base
12 changes: 3 additions & 9 deletions tridesclous/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
FROM python:3.8

# downgrade pip version to avoid dependency issues during installations
RUN pip install --no-input pip==21.2.4


FROM python:3.12

# Install prerequisites
RUN apt-get update && apt-get install -y libgl1-mesa-glx

# need to force some version
RUN pip install numpy==1.21
RUN pip install numpy
RUN pip install numba
RUN pip install hdbscan


RUN pip install Cython
RUN pip install scipy pandas scikit-learn matplotlib seaborn tqdm openpyxl quantities neo
RUN pip install h5py
RUN pip install loky packaging

RUN pip install tridesclous==1.6.5
RUN pip install tridesclous==1.6.9
2 changes: 1 addition & 1 deletion tridesclous/build.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash

docker build -t spikeinterface/tridesclous-base:latest -t spikeinterface/tridesclous-base:1.6.5 .
docker build -t spikeinterface/tridesclous-base:latest -t spikeinterface/tridesclous-base:1.6.9 .
11 changes: 7 additions & 4 deletions waveclus-compiled/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
FROM waveclus-matlab-base

USER root

COPY --from=waveclus-snippets-matlab-base /usr/bin/mlrtapp/waveclus_snippets_compiled /usr/bin/mlrtapp/waveclus_snippets_compiled
RUN chmod 755 /usr/bin/mlrtapp/waveclus_compiled
RUN chmod 755 /usr/bin/mlrtapp/waveclus_snippets_compiled
Expand All @@ -13,10 +15,11 @@ RUN apt-get update && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

ENV MINICONDA_VERSION 4.8.2
ENV CONDA_DIR /home/miniconda3
ENV LATEST_CONDA_SCRIPT "Miniconda3-py38_$MINICONDA_VERSION-Linux-x86_64.sh"

ENV MINICONDA_VERSION=25.5.1-0
ENV PYTHON_VERSION=py312
ENV CONDA_DIR=/home/miniconda3
ENV LATEST_CONDA_SCRIPT="Miniconda3-${PYTHON_VERSION}_${MINICONDA_VERSION}-Linux-x86_64.sh"

RUN wget --quiet https://repo.anaconda.com/miniconda/$LATEST_CONDA_SCRIPT -O ~/miniconda.sh && \
bash ~/miniconda.sh -b -p $CONDA_DIR && \
rm ~/miniconda.sh
Expand Down
2 changes: 1 addition & 1 deletion waveclus-compiled/build.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash

docker build -t spikeinterface/waveclus-compiled-base:latest -t spikeinterface/waveclus-compiled-base:0.1.0 .
docker build -t spikeinterface/waveclus-compiled-base:latest -t spikeinterface/waveclus-compiled-base:0.2.0 .

5 changes: 3 additions & 2 deletions waveclus-compiled/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,14 @@ mkdir -p $TMP_DIR

echo "Compiling waveclus..."
cd $TMP_DIR
matlab -batch "mcc -m ${SI_PATH}/spikeinterface/sorters/waveclus/waveclus_master.m -a ${SI_PATH}/spikeinterface/sorters/utils -a ${WC_PATH} -o ${WC_COMPILED_NAME}"
EXTERNAL_SORTERS_FOLDER=${SI_PATH}/src/spikeinterface/sorters/external/
matlab -batch "mcc -m ${EXTERNAL_SORTERS_FOLDER}/waveclus_master.m -a ${SI_PATH}/src/spikeinterface/sorters/utils -a ${WC_PATH} -o ${WC_COMPILED_NAME}"

echo "Creating base docker image..."
matlab -batch "compiler.package.docker('${WC_COMPILED_NAME}', 'requiredMCRProducts.txt', 'ImageName', 'waveclus-matlab-base')"

echo "Compiling waveclus_snippets..."
matlab -batch "mcc -m ${SI_PATH}/spikeinterface/sorters/waveclus/waveclus_snippets_master.m -a ${SI_PATH}/spikeinterface/sorters/utils -a ${WC_PATH} -o ${WC_SNIPPETS_COMPILED_NAME}"
matlab -batch "mcc -m ${EXTERNAL_SORTERS_FOLDER}/waveclus_snippets_master.m -a ${SI_PATH}/src/spikeinterface/sorters/utils -a ${WC_PATH} -o ${WC_SNIPPETS_COMPILED_NAME}"

echo "Creating base docker image..."
matlab -batch "compiler.package.docker('${WC_SNIPPETS_COMPILED_NAME}', 'requiredMCRProducts.txt', 'ImageName', 'waveclus-snippets-matlab-base')"
Expand Down
Loading