production-taskbar / Dockerfile.development
Dockerfile.development
Raw
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