|
|
@@ -1,40 +1,30 @@
|
|
|
# yup, python 3.11!
|
|
|
-FROM python:3.11-slim
|
|
|
+FROM python:3.11-alpine
|
|
|
|
|
|
# install nginx y otras cosas
|
|
|
-RUN apt-get update && apt-get install nginx netcat-openbsd curl vim jq rsync libpango-1.0-0 libpangocairo-1.0-0 libcairo2 postgresql-client -y
|
|
|
+RUN apk add nginx netcat-openbsd curl vim jq rsync pango pango-dev cairo postgresql-client bash glib fontconfig font-noto
|
|
|
+
|
|
|
+COPY ./src/requirements.txt requirements.txt
|
|
|
+RUN pip install --user --no-cache-dir -r requirements.txt
|
|
|
+
|
|
|
+COPY ./nginx/default.conf /etc/nginx/http.d/nginx.conf
|
|
|
|
|
|
-# 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
|
|
|
+RUN ln -sf /dev/stdout /var/log/nginx/access.log && \
|
|
|
+ ln -sf /dev/stderr /var/log/nginx/error.log && \
|
|
|
+ chgrp -R 0 /var/lib/nginx && \
|
|
|
+ chmod -R g=u /var/lib/nginx
|
|
|
+
|
|
|
+ENV PATH="/root/.local/bin:$PATH"
|
|
|
|
|
|
# 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
|
|
|
+RUN chgrp -R 0 ./app && \
|
|
|
+ chmod -R g=u ./app
|
|
|
|
|
|
# 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
|
|
|
-
|
|
|
-# Añade path a .bashrc
|
|
|
-
|
|
|
-RUN echo "export PATH=/opt/venv/bin/:$PATH" >> /root/.bashrc
|
|
|
-
|
|
|
-# make our entrypoint.sh executable
|
|
|
-RUN chmod +x config/entrypoint.sh
|
|
|
-
|
|
|
-#EXPOSE 8080
|
|
|
-
|
|
|
# execute our entrypoint.sh file
|
|
|
-CMD ["./config/entrypoint.sh"]
|
|
|
+CMD ["/app/config/entrypoint.sh"]
|