@@ -6,8 +6,8 @@ ARG DOCKER_USER=devuser
66ARG DOCKER_USER_HOME=/home/devuser
77ARG MIRROR_LIST_COUNTRY=RU
88ARG BUILD_PACKAGES="pyenv git gnupg sudo postgresql-libs mariadb-libs openmp"
9- ARG PYTHON_VERSION=3.13
10- ARG POETRY_VERSION=2.1.3
9+ ARG PYTHON_VERSION=3.14
10+ ARG POETRY_VERSION=2.2.1
1111RUN echo "* soft core 0" >> /etc/security/limits.conf && \
1212 echo "* hard core 0" >> /etc/security/limits.conf && \
1313 echo "* soft nofile 10000" >> /etc/security/limits.conf
@@ -22,8 +22,7 @@ RUN mkdir /application && chown $DOCKER_USER:$DOCKER_USER /application
2222RUN curl -s \
2323 "https://archlinux.org/mirrorlist/?country=$MIRROR_LIST_COUNTRY&protocol=http&protocol=https&ip_version=4" \
2424 | sed -e 's/^#Server/Server/' -e '/^#/d' > /etc/pacman.d/mirrorlist
25- RUN pacman -Syu --noconfirm
26- RUN pacman -S --noconfirm $BUILD_PACKAGES
25+ RUN pacman -Syu --noconfirm && pacman -S --noconfirm $BUILD_PACKAGES
2726RUN echo "${DOCKER_USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
2827ENV PYENV_ROOT=$DOCKER_USER_HOME/.pyenv
2928ENV PATH=$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
@@ -54,23 +53,30 @@ RUN mkdir -p $PIP_CACHE_DIR && \
5453USER $DOCKER_USER
5554WORKDIR /application
5655
57- FROM python-base AS build-deps
58- ARG POETRY_OPTIONS="--no-root --compile"
59- COPY pyproject.toml poetry.lock /build/
60- RUN poetry install $POETRY_OPTIONS -n -v -C /build && \
61- rm -rf $POETRY_CACHE_DIR/* && rm -rf $PIP_CACHE_DIR/*
62-
63- FROM build-deps AS app-build
56+ FROM python-base AS app-build
6457ARG DOCKER_USER=devuser
6558COPY src/ build/src
6659COPY README.md /build/
67- RUN poetry install -C /build
60+ COPY pyproject.toml poetry.lock /build/
61+ ARG POETRY_OPTIONS_APP="--only main --compile"
62+ RUN poetry install $POETRY_OPTIONS_APP -n -v -C /build && \
63+ rm -rf $POETRY_CACHE_DIR/* && rm -rf $PIP_CACHE_DIR/*
6864RUN sed -i "/\b\( $DOCKER_USER\)\b /d" /etc/sudoers
6965RUN pacman -Scc <<< Y <<< Y
7066USER $DOCKER_USER
7167WORKDIR /application
7268
73- FROM build-deps AS vim-ide
69+ FROM python-base AS build-deps-dev
70+ ARG POETRY_OPTIONS_DEV="--no-root --with-dev --compile"
71+ COPY pyproject.toml poetry.lock /build/
72+ RUN poetry install $POETRY_OPTIONS_DEV -n -v -C /build
73+
74+ FROM build-deps-dev AS dev-build
75+ ARG DOCKER_USER=devuser
76+ USER $DOCKER_USER
77+ WORKDIR /application
78+
79+ FROM build-deps-dev AS vim-ide
7480ARG DOCKER_USER=devuser
7581ARG DOCKER_USER_HOME=/home/devuser
7682ARG VIM_PACKAGES="python vim ctags ripgrep bat npm nodejs-lts-jod"
0 commit comments