initialize docker build
This commit is contained in:
parent
2e49849960
commit
c2c5b62a63
4 changed files with 121 additions and 0 deletions
40
Dockerfile
Normal file
40
Dockerfile
Normal file
|
@ -0,0 +1,40 @@
|
|||
FROM python:3.13-slim
|
||||
|
||||
EXPOSE 8000
|
||||
WORKDIR /app
|
||||
|
||||
ENV PATH="/app/.venv/bin:$PATH"
|
||||
ENV STATIC_ROOT=/app/staticfiles
|
||||
ENV MEDIA_ROOT=/data/media
|
||||
# Set Caddy's XDG base directory to a writable location
|
||||
ENV XDG_DATA_HOME=/app/run/caddy/data
|
||||
ENV XDG_CONFIG_HOME=/app/run/caddy/config
|
||||
|
||||
# Install system dependencies including Caddy
|
||||
RUN apt-get update && apt-get install -y \
|
||||
debian-keyring \
|
||||
debian-archive-keyring \
|
||||
apt-transport-https \
|
||||
curl \
|
||||
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg \
|
||||
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y caddy procps \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install binaries with correct permissions
|
||||
COPY --from=ghcr.io/astral-sh/uv:latest --chown=root:root --chmod=755 /uv /usr/local/bin/uv
|
||||
COPY --chmod=755 docker/run.sh /usr/local/bin/run.sh
|
||||
|
||||
COPY docker/Caddyfile /app/config/caddy/Caddyfile
|
||||
ADD . /app
|
||||
|
||||
RUN uv sync --frozen \
|
||||
&& uv pip install gunicorn --no-cache-dir \
|
||||
&& mkdir -p /app/config/caddy /app/run/caddy /app/run/gunicorn \
|
||||
&& chgrp -R 0 /app \
|
||||
&& chmod -R g=u /app \
|
||||
&& chmod g+w /app/config/caddy/Caddyfile
|
||||
# && SECRET_KEY= uv run src/manage.py collectstatic --noinput
|
||||
|
||||
CMD ["/usr/local/bin/run.sh"]
|
Loading…
Add table
Add a link
Reference in a new issue