forked from datajoint/element-deeplabcut
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
34 lines (26 loc) · 1.05 KB
/
Dockerfile
File metadata and controls
34 lines (26 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Dockerfile for element-deeplabcut client environment
# Uses DeepLabCut's official Docker image as base
# Pinned to specific version for reproducibility
FROM deeplabcut/deeplabcut:3.0.0rc13-jupyter
# Set working directory
WORKDIR /app
# Install additional system dependencies if needed
RUN apt-get update && apt-get install -y \
git \
graphviz \
&& rm -rf /var/lib/apt/lists/*
# Copy the entire project
COPY . .
# Install element-deeplabcut and its dependencies
# The DLC image already has DeepLabCut installed, so we just need element-deeplabcut
# Note: We explicitly constrain dlclibrary version to avoid ModelZoo download bug
# (rename_mapping being a string instead of dict - fixed with runtime monkey patch)
RUN pip install -e .[dlc_default,elements,tests] && \
pip install "dlclibrary>=0.1.0,<0.2.0" || true
# Set environment variables
ENV PYTHONUNBUFFERED=1
# Set entrypoint to bash
ENTRYPOINT ["/bin/bash"]
# Default command - interactive bash shell
# Users can override with: docker compose run client -c "python your_script.py"
CMD ["-i"]