linker/container/Containerfile
2025-08-27 19:44:33 -05:00

42 lines
1.1 KiB
Docker

From ubuntu:noble
ENV DEBIAN_FRONTEND=noninteractive
ENV PATH="/home/appuser/.local/bin:$PATH"
ENV PATH="/home/appuser/.venv/bin:$PATH"
ENV UV_CACHE_DIR="/app/.cache/uv"
ENV UV_CACHE_DIR="/tmp/uv-cache"
RUN groupadd -g 10000 appgroup && \
useradd -u 10000 -g appgroup -s /bin/bash -m appuser
RUN mkdir -p /tmp/uv-cache && chown -R appuser:appgroup /tmp/uv-cache
RUN apt-get update && \
apt upgrade -y && \
apt install -y curl && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
USER appuser
RUN mkdir -p /app/.cache && \
chown -R appuser:appgroup /app
COPY --chmod=755 --chown=appuser:appgroup ./container/install-uv.sh /tmp/install-uv.sh
RUN /tmp/install-uv.sh
COPY --chown=appuser:appgroup requirements.txt requirements.txt
RUN uv venv --python 3.12 /home/appuser/.venv && \
. /home/appuser/.venv/bin/activate && \
uv pip install -r requirements.txt
COPY --chown=appuser:appgroup templates templates
COPY --chown=appuser:appgroup static static
COPY --chown=appuser:appgroup linker.py linker.py
COPY --chown=appuser:appgroup version version
RUN chmod +x linker.py
CMD /app/linker.py