FROM python:3.12-slim-bookworm
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
# Copy the project into the image
ADD . /app
# Sync the project into a new environment, using the frozen lockfile
WORKDIR /app
RUN uv sync --frozen
RUN apt-get update && apt-get install -y curl
RUN curl -L https://github.com/tailwindlabs/tailwindcss/releases/download/v3.4.17/tailwindcss-linux-x64 -o /bin/tailwindcss
RUN chmod +x /bin/tailwindcss
RUN /bin/tailwindcss -i ./static/css/styles.css -o ./static/css/tailwind.css --content "/app/templates/*.html"
# Set the startup command
CMD ["uv", "run", "/app/main.py"]