mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-25 16:55:08 +00:00
feat: Update production image
- Bump python to 3.12.3 - bump node to v22.14.0 - update dependencies from Frappe Docker repo - use custom-apps config from Frappe Docker Repo - Add rafnav apps to image - add prod build cmd to installation script
This commit is contained in:
parent
d4fa1c6ef0
commit
e410c5938f
1 changed files with 36 additions and 19 deletions
|
|
@ -1,12 +1,15 @@
|
||||||
ARG PYTHON_VERSION=3.11.6
|
ARG PYTHON_VERSION=3.12.3
|
||||||
ARG DEBIAN_BASE=bookworm
|
ARG DEBIAN_BASE=bookworm
|
||||||
FROM python:${PYTHON_VERSION}-slim-${DEBIAN_BASE} AS base
|
FROM python:${PYTHON_VERSION}-slim-${DEBIAN_BASE} AS base
|
||||||
|
|
||||||
|
COPY resources/nginx-template.conf /templates/nginx/frappe.conf.template
|
||||||
|
COPY resources/nginx-entrypoint.sh /usr/local/bin/nginx-entrypoint.sh
|
||||||
|
|
||||||
ARG WKHTMLTOPDF_VERSION=0.12.6.1-3
|
ARG WKHTMLTOPDF_VERSION=0.12.6.1-3
|
||||||
ARG WKHTMLTOPDF_DISTRO=bookworm
|
ARG WKHTMLTOPDF_DISTRO=bookworm
|
||||||
ARG NODE_VERSION=18.18.2
|
ARG NODE_VERSION=22.14.0
|
||||||
ENV NVM_DIR=/home/frappe/.nvm
|
ENV NVM_DIR=/home/frappe/.nvm
|
||||||
ENV PATH ${NVM_DIR}/versions/node/v${NODE_VERSION}/bin/:${PATH}
|
ENV PATH=${NVM_DIR}/versions/node/v${NODE_VERSION}/bin/:${PATH}
|
||||||
|
|
||||||
RUN useradd -ms /bin/bash frappe \
|
RUN useradd -ms /bin/bash frappe \
|
||||||
&& apt-get update \
|
&& apt-get update \
|
||||||
|
|
@ -65,10 +68,9 @@ RUN useradd -ms /bin/bash frappe \
|
||||||
&& chown -R frappe:frappe /etc/nginx/nginx.conf \
|
&& chown -R frappe:frappe /etc/nginx/nginx.conf \
|
||||||
&& chown -R frappe:frappe /var/log/nginx \
|
&& chown -R frappe:frappe /var/log/nginx \
|
||||||
&& chown -R frappe:frappe /var/lib/nginx \
|
&& chown -R frappe:frappe /var/lib/nginx \
|
||||||
&& chown -R frappe:frappe /run/nginx.pid
|
&& chown -R frappe:frappe /run/nginx.pid \
|
||||||
|
&& chmod 755 /usr/local/bin/nginx-entrypoint.sh \
|
||||||
COPY resources/nginx-template.conf /templates/nginx/frappe.conf.template
|
&& chmod 644 /templates/nginx/frappe.conf.template
|
||||||
COPY resources/nginx-entrypoint.sh /usr/local/bin/nginx-entrypoint.sh
|
|
||||||
|
|
||||||
FROM base AS builder
|
FROM base AS builder
|
||||||
|
|
||||||
|
|
@ -76,6 +78,12 @@ RUN apt-get update \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
|
||||||
# For frappe framework
|
# For frappe framework
|
||||||
wget \
|
wget \
|
||||||
|
#for building arm64 binaries
|
||||||
|
libcairo2-dev \
|
||||||
|
libpango1.0-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libgif-dev \
|
||||||
|
librsvg2-dev \
|
||||||
# For psycopg2
|
# For psycopg2
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
# Other
|
# Other
|
||||||
|
|
@ -86,6 +94,7 @@ RUN apt-get update \
|
||||||
libsasl2-dev \
|
libsasl2-dev \
|
||||||
libtiff5-dev \
|
libtiff5-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
|
pkg-config \
|
||||||
redis-tools \
|
redis-tools \
|
||||||
rlwrap \
|
rlwrap \
|
||||||
tk8.6-dev \
|
tk8.6-dev \
|
||||||
|
|
@ -96,26 +105,34 @@ RUN apt-get update \
|
||||||
libbz2-dev \
|
libbz2-dev \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# apps.json includes
|
||||||
|
ARG APPS_JSON_BASE64
|
||||||
|
RUN if [ -n "${APPS_JSON_BASE64}" ]; then \
|
||||||
|
mkdir /opt/frappe && echo "${APPS_JSON_BASE64}" | base64 -d > /opt/frappe/apps.json; \
|
||||||
|
fi
|
||||||
|
|
||||||
USER frappe
|
USER frappe
|
||||||
|
|
||||||
ARG FRAPPE_BRANCH=version-15
|
ARG FRAPPE_BRANCH=version-15
|
||||||
ARG FRAPPE_PATH=https://github.com/frappe/frappe
|
ARG FRAPPE_PATH=https://github.com/frappe/frappe
|
||||||
ARG ERPNEXT_REPO=https://github.com/frappe/erpnext
|
RUN export APP_INSTALL_ARGS="" && \
|
||||||
ARG ERPNEXT_BRANCH=version-15
|
if [ -n "${APPS_JSON_BASE64}" ]; then \
|
||||||
RUN bench init \
|
export APP_INSTALL_ARGS="--apps_path=/opt/frappe/apps.json"; \
|
||||||
--frappe-branch=${FRAPPE_BRANCH} \
|
fi && \
|
||||||
--frappe-path=${FRAPPE_PATH} \
|
bench init ${APP_INSTALL_ARGS}\
|
||||||
--no-procfile \
|
--frappe-branch=${FRAPPE_BRANCH} \
|
||||||
--no-backups \
|
--frappe-path=${FRAPPE_PATH} \
|
||||||
--skip-redis-config-generation \
|
--no-procfile \
|
||||||
--verbose \
|
--no-backups \
|
||||||
/home/frappe/frappe-bench && \
|
--skip-redis-config-generation \
|
||||||
|
--verbose \
|
||||||
|
/home/frappe/frappe-bench && \
|
||||||
cd /home/frappe/frappe-bench && \
|
cd /home/frappe/frappe-bench && \
|
||||||
bench get-app --branch=${ERPNEXT_BRANCH} --resolve-deps erpnext ${ERPNEXT_REPO} && \
|
|
||||||
echo "{}" > sites/common_site_config.json && \
|
echo "{}" > sites/common_site_config.json && \
|
||||||
|
bench build --production \
|
||||||
find apps -mindepth 1 -path "*/.git" | xargs rm -fr
|
find apps -mindepth 1 -path "*/.git" | xargs rm -fr
|
||||||
|
|
||||||
FROM base as erpnext
|
FROM base AS backend
|
||||||
|
|
||||||
USER frappe
|
USER frappe
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue