Skip to content

Commit 9388b02

Browse files
committed
enh: update docker and binder
1 parent 242bae0 commit 9388b02

File tree

5 files changed

+63
-62
lines changed

5 files changed

+63
-62
lines changed
File renamed without changes.

Dockerfile

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
FROM ghcr.io/prefix-dev/pixi:0.53.0 AS build
2+
3+
USER root
4+
5+
# Prepare environment
6+
RUN apt-get update && \
7+
apt-get install -y --no-install-recommends \
8+
ca-certificates \
9+
git && \
10+
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
11+
12+
# Run post-link scripts during install, but use global to keep out of source tree
13+
RUN pixi config set --global run-post-link-scripts insecure
14+
15+
# Install dependencies before the package itself to leverage caching
16+
RUN mkdir /app
17+
COPY pixi.lock pixi.toml /app
18+
WORKDIR /app
19+
20+
RUN pixi install -e default --frozen
21+
RUN pixi shell-hook -e default --as-is | grep -v PATH > /shell-hook.sh
22+
23+
24+
FROM jupyter/base-notebook:x86_64-lab-4.0.7
25+
26+
USER root
27+
28+
# Prepare environment
29+
RUN apt-get update && \
30+
apt-get install -y --no-install-recommends \
31+
curl \
32+
dvipng \
33+
texlive-fonts-recommended \
34+
texlive-fonts-extra \
35+
texlive-latex-extra \
36+
cm-super && \
37+
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
38+
39+
COPY --link --from=build /app/.pixi/envs/default /app/.pixi/envs/default
40+
COPY --link --from=build /shell-hook.sh /shell-hook.sh
41+
RUN cat /shell-hook.sh >> $HOME/.bashrc
42+
ENV PATH="/app/.pixi/envs/default/bin:$PATH"
43+
44+
ENV NB_USER=jovyan \
45+
NB_GROUP=users \
46+
NB_UID=1000 \
47+
NB_GID=100 \
48+
HOME=/home/jovyan
49+
50+
RUN fix-permissions "/home/${NB_USER}"
51+
# RUN chmod -R ${NB_USER}.${NB_GROUP} "/home/${NB_USER}"
52+
53+
USER ${NB_USER}
54+
55+
WORKDIR ${HOME}
56+
57+
COPY --chown=${NB_UID}:${NB_GID} . ${HOME}/nipreps-book

binder/postBuild

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
2+
set -euxo pipefail
23

3-
export ANTSPATH="$HOME/src/ants"
4-
mkdir -p $ANTSPATH
5-
curl -sSL "https://dl.dropbox.com/s/gwf51ykkk5bifyj/ants-Linux-centos6_x86_64-v2.3.4.tar.gz" | tar -xzC $ANTSPATH --strip-components 1
6-
export PATH="$ANTSPATH:$PATH"
4+
curl -fsSL https://pixi.sh/install.sh | bash
5+
export PATH="$HOME/.pixi/bin:$PATH"
6+
7+
pixi install --locked

binder/requirements.txt

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1 @@
1-
attr
2-
dipy
3-
git+https://github.com/nipreps/EddyMotionCorrection.git@main
4-
jupytext
5-
matplotlib
6-
nibabel
7-
nilearn
8-
git+https://github.com/poldracklab/nitransforms.git@master
9-
niworkflows >= 1.4.0rc5
10-
numpy
11-
pytest
12-
requests
1+
# Python dependencies are managed via Pixi. See binder/postBuild for setup steps.

docker/Dockerfile

Lines changed: 0 additions & 46 deletions
This file was deleted.

0 commit comments

Comments
 (0)