# syntax=docker/dockerfile:1 FROM python:3.12-slim-bookworm LABEL authors="fureunoir" ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ LANG=C.UTF-8 \ DEBIAN_FRONTEND=noninteractive \ PATH="/root/.local/bin:$PATH" WORKDIR /app RUN set -eux; \ sed -i 's|https://deb.debian.org/debian|https://ftp.uk.debian.org/debian|g' /etc/apt/sources.list.d/debian.sources; \ apt-get update; \ apt-get install -y --no-install-recommends wget gnupg curl; \ wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -; \ echo "deb http://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" \ > /etc/apt/sources.list.d/pgdg.list; \ apt-get update; \ apt-get install -y --no-install-recommends --fix-missing \ build-essential \ libpq-dev \ gettext \ libgettextpo-dev \ graphviz-dev \ libgts-dev \ libpq5 \ chrony \ graphviz \ binutils \ libproj-dev \ postgresql-client-17 \ gdal-bin; \ rm -rf /var/lib/apt/lists/*; \ pip install --upgrade pip RUN curl -LsSf https://astral.sh/uv/install.sh | sh ENV PATH="/root/.local/bin:/root/.cargo/bin:$PATH" ENV UV_PROJECT_ENVIRONMENT=/opt/evibes-python ENV PATH="/opt/evibes-python/bin:/root/.local/bin:/root/.cargo/bin:$PATH" RUN uv venv /opt/evibes-python ENV VIRTUAL_ENV=/opt/evibes-python COPY pyproject.toml pyproject.toml COPY uv.lock uv.lock RUN set -eux; \ uv sync --extra worker --extra openai --locked COPY ./scripts/Docker/stock-updater-entrypoint.sh /usr/local/bin/stock-updater-entrypoint.sh RUN chmod +x /usr/local/bin/stock-updater-entrypoint.sh COPY . . ENTRYPOINT ["/usr/bin/bash", "stock-updater-entrypoint.sh"]