Skip to content

Commit

Permalink
introducing base node image to reduce duplication
Browse files Browse the repository at this point in the history
  • Loading branch information
rodja committed Aug 20, 2023
1 parent ef6f427 commit d5c634c
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 120 deletions.
24 changes: 24 additions & 0 deletions base_node.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
FROM zauberzeug/nicegui:1.2.13

RUN apt-get update && \
apt-get install -y jpeginfo \
python3-pip \
libjpeg-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /app/

RUN python3 -m pip install --upgrade pip

# Install system packages required by Pillow
# TODO upgrade to pillow >=10 in pyproject.toml
RUN apt-get update && \
apt-get install -y \
libjpeg-dev\
&& rm -rf /var/lib/apt/lists/*

RUN python3 -m pip install --no-cache-dir "uvicorn[standard]" tqdm async_generator aiofiles retry debugpy pytest-asyncio psutil icecream pytest "pytest-mock==3.6.1" autopep8 pynvml
RUN python3 -m pip install --no-cache-dir "learning-loop-node==0.7.53rc2"

# while development this will be mounted but in deployment we need the latest code baked into the image
ADD ./learning_loop_node /usr/local/lib/python3.11/site-packages/learning_loop_node
25 changes: 1 addition & 24 deletions demo_segmentation_tool.dockerfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,4 @@
FROM zauberzeug/nicegui:1.2.13

RUN apt-get update && \
apt-get install -y jpeginfo \
python3-pip \
libjpeg-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /app/

RUN python3 -m pip install --upgrade pip

# Install system packages required by Pillow
# TODO upgrade to pillow >=10 in pyproject.toml
RUN apt-get update && \
apt-get install -y \
libjpeg-dev\
&& rm -rf /var/lib/apt/lists/*

RUN python3 -m pip install --no-cache-dir "uvicorn[standard]" tqdm numpy async_generator aiofiles retry debugpy pytest-asyncio psutil icecream psutil pytest autopep8 pynvml
RUN python3 -m pip install --no-cache-dir "learning-loop-node==0.7.53rc2"

RUN apt-get update && apt-get -y install libgl1
RUN python3 -m pip install --no-cache-dir opencv-python
FROM base_node:latest

ADD ./mock_annotation_node /app
ENV PYTHONPATH "${PYTHONPATH}:/app:/usr/local/lib/python3.11/site-packages"
Expand Down
25 changes: 1 addition & 24 deletions mock_annotation_node.dockerfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,4 @@
FROM zauberzeug/nicegui:1.2.13

RUN apt-get update && \
apt-get install -y jpeginfo \
python3-pip \
libjpeg-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /app/

RUN python3 -m pip install --upgrade pip

# Install system packages required by Pillow
# TODO upgrade to pillow >=10 in pyproject.toml
RUN apt-get update && \
apt-get install -y \
libjpeg-dev\
&& rm -rf /var/lib/apt/lists/*

RUN python3 -m pip install --no-cache-dir "uvicorn[standard]" tqdm numpy async_generator aiofiles retry debugpy pytest-asyncio psutil icecream psutil pytest autopep8 pynvml
RUN python3 -m pip install --no-cache-dir "learning-loop-node==0.7.53rc2"

# while development this will be mounted but in deployment we need the latest code baked into the image
ADD ./learning_loop_node /usr/local/lib/python3.11/site-packages/learning_loop_node
FROM base_node:latest

ADD ./mock_annotation_node /app
ENV PYTHONPATH "${PYTHONPATH}:/app:/usr/local/lib/python3.7/site-packages"
Expand Down
25 changes: 1 addition & 24 deletions mock_converter.dockerfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,4 @@
FROM zauberzeug/nicegui:1.2.13

RUN apt-get update && \
apt-get install -y jpeginfo \
python3-pip \
libjpeg-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /app/

RUN python3 -m pip install --upgrade pip

# Install system packages required by Pillow
# TODO upgrade to pillow >=10 in pyproject.toml
RUN apt-get update && \
apt-get install -y \
libjpeg-dev\
&& rm -rf /var/lib/apt/lists/*

RUN python3 -m pip install --no-cache-dir "uvicorn[standard]" tqdm debugpy icecream pytest autopep8 pynvml
RUN python3 -m pip install --no-cache-dir "learning-loop-node==0.7.53rc2"

# while development this will be mounted but in deployment we need the latest code baked into the image
ADD ./learning_loop_node /usr/local/lib/python3.11/site-packages/learning_loop_node
FROM base_node:latest

COPY ./mock_converter/ /app
ENV PYTHONPATH "${PYTHONPATH}:/app:/usr/local/lib/python3.11/site-packages"
Expand Down
25 changes: 1 addition & 24 deletions mock_detector.dockerfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,4 @@
FROM zauberzeug/nicegui:1.2.13

RUN apt-get update && \
apt-get install -y jpeginfo \
python3-pip \
libjpeg-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /app/

RUN python3 -m pip install --upgrade pip

# Install system packages required by Pillow
# TODO upgrade to pillow >=10 in pyproject.toml
RUN apt-get update && \
apt-get install -y \
libjpeg-dev\
&& rm -rf /var/lib/apt/lists/*

RUN python3 -m pip install --no-cache-dir "uvicorn[standard]" tqdm async_generator aiofiles retry debugpy pytest-asyncio psutil icecream pytest autopep8 pynvml
RUN python3 -m pip install --no-cache-dir "learning-loop-node==0.7.53rc2"

# while development this will be mounted but in deployment we need the latest code baked into the image
ADD ./learning_loop_node /usr/local/lib/python3.11/site-packages/learning_loop_node
FROM base_node:latest

ADD ./mock_detector /app
ENV PYTHONPATH "${PYTHONPATH}:/app:/usr/local/lib/python3.7/site-packages:/learning_loop_node/learning_loop_node"
Expand Down
25 changes: 1 addition & 24 deletions mock_trainer.dockerfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,4 @@
FROM zauberzeug/nicegui:1.2.13

RUN apt-get update && \
apt-get install -y jpeginfo \
python3-pip \
libjpeg-dev \
&& apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /app/

RUN python3 -m pip install --upgrade pip

# Install system packages required by Pillow
# TODO upgrade to pillow >=10 in pyproject.toml
RUN apt-get update && \
apt-get install -y \
libjpeg-dev\
&& rm -rf /var/lib/apt/lists/*

RUN python3 -m pip install --no-cache-dir "uvicorn[standard]" tqdm async_generator aiofiles retry debugpy pytest-asyncio psutil icecream pytest "pytest-mock==3.6.1" autopep8 pynvml
RUN python3 -m pip install --no-cache-dir "learning-loop-node==0.7.53rc2"

# while development this will be mounted but in deployment we need the latest code baked into the image
ADD ./learning_loop_node /usr/local/lib/python3.11/site-packages/learning_loop_node
FROM base_node:latest

ADD ./mock_trainer /app
ENV PYTHONPATH "${PYTHONPATH}:/app:/usr/local/lib/python3.11/site-packages"
Expand Down

0 comments on commit d5c634c

Please sign in to comment.