diff --git a/src/Dockerfile b/src/Dockerfile index 8b913397ad71ee8f4db80cfe5854a9221bccfb5b..6efa736144b057875dcd84a9acb3458f491eb664 100644 --- a/src/Dockerfile +++ b/src/Dockerfile @@ -1,9 +1,11 @@ # pull official base image FROM nikolaik/python-nodejs:python3.13-nodejs20-slim -# Update package list and install required system dependencies RUN apt-get update && apt-get install -y \ - libgirepository1.0-dev \ + python3-dev \ + python3-pip \ + build-essential \ + pkg-config \ libcairo2-dev \ libdbus-1-3 \ libdbus-1-dev \ @@ -24,37 +26,48 @@ RUN apt-get update && apt-get install -y \ libharfbuzz-dev \ libfribidi-dev \ libxcb1-dev \ - build-essential \ - python3-dev \ + libdbus-1-3 \ + libdbus-1-dev \ + libxml2-dev \ + libxslt1-dev \ + xmlsec1 \ + libxmlsec1-dev \ + gobject-introspection \ + libgirepository1.0-dev \ + gir1.2-gtk-3.0 \ + cmake \ + meson \ && rm -rf /var/lib/apt/lists/* -# set work directory +# Set working directory WORKDIR /usr/src/app -# set environment variables +# Set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 -# install dependencies -RUN pip install --upgrade pip && pip install --upgrade setuptools +# Upgrade pip, setuptools, and wheel +RUN pip install --upgrade pip setuptools wheel meson + +# Install dependencies COPY ./requirements.txt . -RUN pip install --no-cache-dir wheel && pip install --no-cache-dir -r requirements.txt +RUN pip install --no-cache-dir -r requirements.txt # npm install COPY frontend/package.json frontend/package-lock.json ./frontend/ RUN cd frontend && npm install -# copy project +# Copy project COPY . . # npm build RUN cd frontend && npm run build -#Environment -ENV VIRTUAL_ENV /env -ENV PATH /env/bin:$PATH +# Environment +ENV VIRTUAL_ENV=/env +ENV PATH=/env/bin:$PATH -#Gunicorn Server +# Gunicorn Server CMD ["gunicorn", "--bind", ":80", "--workers", "3", "--timeout", "240", "--access-logfile", "-", "--error-logfile", "-", "backend.wsgi"] EXPOSE 80 diff --git a/src/requirements.txt b/src/requirements.txt index 31fc1cf559d971c6195bbcafc4f7e796074fb533..4109448b37b7d0bce6e1c13c4a14895eec441b96 100644 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -28,9 +28,9 @@ django-celery-results==2.4.0 django-cors-headers==3.13.0 django-discover-runner==1.0 django-environ==0.9.0 +django-prometheus==2.3.1 django-role-permissions==3.1.1 django-timezone-field==5.0 -django-prometheus==2.3.1 djangorestframework==3.14.0 djangorestframework-simplejwt==5.2.2 dnspython==2.2.1 @@ -54,7 +54,7 @@ kombu==5.2.4 launchpadlib==1.10.16 lazr.restfulclient==0.14.4 lazr.uri==1.0.6 -#lxml==4.6.5 +lxml==5.3.1 Markdown==3.3.7 MarkupSafe==2.1.2 mergedeep==1.3.4 @@ -64,13 +64,13 @@ mysqlclient==2.1.1 netifaces==0.11.0 oauthlib==3.2.0 packaging==21.3 -Pillow==9.5.0 platformdirs==2.5.2 +prometheus_client==0.21.1 prompt-toolkit==3.0.32 pycairo==1.21.0 pycodestyle==2.9.1 pycparser==2.21 -PyGObject==3.42.1 +PyGObject==3.52.1 PyJWT==2.3.0 pymongo==4.3.3 pyparsing==2.4.7 @@ -84,8 +84,10 @@ pyyaml_env_tag==0.1 ranger-fm==1.9.3 redis==4.3.4 requests==2.28.1 -ruamel.yaml==0.17.21 -ruamel.yaml.clib==0.2.7 +requests-file==2.1.0 +requests-toolbelt==1.0.0 +ruamel.yaml==0.18.10 +ruamel.yaml.clib==0.2.12 SecretStorage==3.3.1 six==1.16.0 sqlparse==0.4.3 @@ -101,6 +103,6 @@ watchdog==2.2.1 wcwidth==0.2.5 whitenoise==6.3.0 wrapt==1.14.1 -#xmlsec==1.3.13 +xmlsec==1.3.14 +zeep==4.2.1 zipp==1.0.0 -zeep==4.2.1 \ No newline at end of file