-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.dev
More file actions
65 lines (55 loc) · 1.54 KB
/
Copy pathDockerfile.dev
File metadata and controls
65 lines (55 loc) · 1.54 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# Development environment Dockerfile
FROM python:3.14-slim-trixie
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
curl \
git \
ca-certificates \
libjpeg-dev \
zlib1g-dev \
libtiff5-dev \
libfreetype6-dev \
liblcms2-dev \
libwebp-dev \
tcl8.6-dev \
tk8.6-dev \
python3-tk \
libssl-dev \
libffi-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
libncurses5-dev \
libncursesw5-dev \
xz-utils \
llvm \
libxml2-dev \
libxmlsec1-dev \
sudo \
&& rm -rf /var/lib/apt/lists/*
# Create vscode user
RUN groupadd --gid 1000 vscode \
&& useradd --uid 1000 --gid vscode --shell /bin/bash --create-home vscode \
&& echo 'vscode ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \
&& mkdir -p /py-bragerone \
&& chown -R vscode:vscode /py-bragerone
# Install uv
USER vscode
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
ENV PATH="/home/vscode/.local/bin:$PATH"
# Set working directory
WORKDIR /workspace
ARG PY_BRAGERONE_REF=2026.2.0b1
# Copy project files
COPY --chown=vscode:vscode . .
# Ensure local path dependency ../py-bragerone is available inside image
RUN if [ ! -d "/py-bragerone/.git" ]; then \
git clone --depth 1 --branch "$PY_BRAGERONE_REF" https://github.com/marpi82/py-bragerone /py-bragerone; \
fi
# Install dependencies
RUN uv sync --group dev --group test
# Install pre-commit hooks
RUN uv run --group dev pre-commit install || true
# Default command
CMD ["/bin/bash"]