|
|
|
@ -0,0 +1,33 @@ |
|
|
|
# yup, python 3.11! |
|
|
|
FROM python:3.11-slim |
|
|
|
|
|
|
|
# install nginx |
|
|
|
RUN apt-get update && apt-get install nginx netcat-openbsd -y |
|
|
|
# copy our nginx configuration to overwrite nginx defaults |
|
|
|
RUN rm /etc/nginx/sites-enabled/default |
|
|
|
RUN rm /etc/nginx/sites-available/default |
|
|
|
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf |
|
|
|
# link nginx logs to container stdout |
|
|
|
RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log |
|
|
|
|
|
|
|
# copy the django code |
|
|
|
COPY ./src ./app |
|
|
|
|
|
|
|
RUN chgrp -R 0 ./app && chmod -R g=u ./app |
|
|
|
RUN chgrp -R 0 /var/lib/nginx && chmod -R g=u /var/lib/nginx |
|
|
|
|
|
|
|
# change our working directory to the django projcet roo |
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
# create virtual env (notice the location?) |
|
|
|
# update pip |
|
|
|
# install requirements |
|
|
|
RUN python -m venv /opt/venv && \ |
|
|
|
/opt/venv/bin/python -m pip install pip --upgrade && \ |
|
|
|
/opt/venv/bin/python -m pip install -r requirements.txt |
|
|
|
|
|
|
|
# make our entrypoint.sh executable |
|
|
|
RUN chmod +x config/entrypoint.sh |
|
|
|
|
|
|
|
# execute our entrypoint.sh file |
|
|
|
CMD ["./config/entrypoint.sh"] |