| 1234567891011121314151617181920212223242526272829303132333435 |
- # yup, python 3.11!
- FROM python:3.11-slim
- # install nginx
- RUN apt-get update && apt-get install nginx netcat-openbsd curl vim jq rsync -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
- RUN echo "export PAHT=/opt/venv/bin/:$PATH" >> /app/.bashrc
- # make our entrypoint.sh executable
- RUN chmod +x config/entrypoint.sh
- # execute our entrypoint.sh file
- CMD ["./config/entrypoint.sh"]
|