ARG NAME=sebn-taskbar-manager
FROM python:3.11.3-bullseye
ARG NAME
ENV PYTHONUNBUFFERED=1 \
PYTHONPATH="$PYTHONPATH:$NAME/backend" \
VIRTUAL_ENV=/$NAME/python \
POETRY_VERSION=1.4.2 \
POETRY_NO_INTERACTION=1 \
DJANGO_SETTINGS_MODULE=config.settings.development \
TZ=$TZ
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN apt-get update && \
apt-get --assume-yes --no-install-recommends install \
apache2-dev=2.4.56-1~deb11u2 \
gettext=0.21-4 \
graphviz=2.42.2-5 \
libgraphviz-dev=2.42.2-5 \
nano=5.4-2+deb11u2 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
WORKDIR /$NAME
RUN python -m venv $VIRTUAL_ENV --prompt $NAME
# Poetry install dependencies
RUN curl -sSL https://install.python-poetry.org | python3 -
COPY ./backend/pyproject.toml ./
RUN $HOME/.local/bin/poetry install -vvv --with dev-runtime
# Add bash commands history
RUN mkdir /commandhistory && \
SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" \
&& echo $SNIPPET >> "/root/.bashrc"
WORKDIR /$NAME/backend