Two build fixes surfaced while shipping the set-password rename: 1. erpnext/Dockerfile cloned frappe/payments unpinned; its default branch now requires Python >=3.14 while frappe/erpnext:v15 ships 3.11, so the image build failed with 'Package payments requires a different Python'. Pin the clone to --branch version-15. 2. deploy.sh built the erpnext image without first staging the custom Frappe apps into the build context (erpnext/build.sh). That meant a baked-code change could silently ship stale code. Stage apps when erpnext is built.
32 lines
1.5 KiB
Docker
32 lines
1.5 KiB
Docker
# Performance West ERPNext — custom image with PW apps baked in.
|
|
# Base: official Frappe bench image (includes ERPNext).
|
|
# Custom apps: performancewest_erpnext, frappe_ca_registry, frappe_crypto, frappe_adyen
|
|
#
|
|
# Pre-build step copies apps into erpnext/ dir (see erpnext/build.sh).
|
|
# Rebuilt nightly by pw-container-update to pick up base image security patches.
|
|
|
|
FROM frappe/erpnext:v15
|
|
|
|
USER frappe
|
|
WORKDIR /home/frappe/frappe-bench
|
|
|
|
# Copy custom Frappe apps (staged into build context by build.sh)
|
|
COPY --chown=frappe:frappe frappe_crypto/ apps/frappe_crypto/
|
|
COPY --chown=frappe:frappe frappe_adyen/ apps/frappe_adyen/
|
|
COPY --chown=frappe:frappe frappe_ca_registry/ apps/frappe_ca_registry/
|
|
COPY --chown=frappe:frappe performancewest_erpnext/ apps/performancewest_erpnext/
|
|
|
|
# Install the payments app (not in base image) + all custom apps
|
|
# Pin payments to the version-15 branch. The default branch now requires
|
|
# Python >=3.14, but the frappe/erpnext:v15 base ships Python 3.11, so an
|
|
# unpinned clone breaks the build ("Package 'payments' requires a different
|
|
# Python: 3.11.6 not in '>=3.14'").
|
|
RUN git clone --depth=1 --branch version-15 https://github.com/frappe/payments.git apps/payments \
|
|
&& env/bin/pip install --quiet -e apps/payments \
|
|
&& env/bin/pip install --quiet -e apps/frappe_crypto \
|
|
&& env/bin/pip install --quiet -e apps/frappe_adyen \
|
|
&& env/bin/pip install --quiet -e apps/frappe_ca_registry \
|
|
&& env/bin/pip install --quiet -e apps/performancewest_erpnext
|
|
|
|
# Build JS/CSS assets
|
|
RUN bench build --app payments 2>/dev/null || true
|