From b39702cd4a840dcdc0467355c8381c40ede6825f Mon Sep 17 00:00:00 2001 From: Julien Denizot Date: Mon, 22 Jun 2026 22:18:24 +0200 Subject: [PATCH] lab: add validated Frappe and ERPNext v17 base --- images/Containerfile.v17-lab | 70 ++++++++++++++++++++++++++++++++++++ manifests/apps.v17.lab.json | 6 ++++ 2 files changed, 76 insertions(+) create mode 100644 images/Containerfile.v17-lab create mode 100644 manifests/apps.v17.lab.json diff --git a/images/Containerfile.v17-lab b/images/Containerfile.v17-lab new file mode 100644 index 0000000..70f49ec --- /dev/null +++ b/images/Containerfile.v17-lab @@ -0,0 +1,70 @@ +ARG FRAPPE_BRANCH=develop +ARG FRAPPE_IMAGE_PREFIX=frappe + +FROM ${FRAPPE_IMAGE_PREFIX}/build:${FRAPPE_BRANCH} AS builder + +ARG FRAPPE_BRANCH=develop +ARG FRAPPE_PATH=https://github.com/frappe/frappe +ARG CACHE_BUST="" + +USER frappe + +RUN --mount=type=secret,id=apps_json,target=/opt/frappe/apps.json,uid=1000,gid=1000 \ + set -eux; \ + : "${CACHE_BUST}"; \ + APP_INSTALL_ARGS=""; \ + if [ -s /opt/frappe/apps.json ]; then \ + APP_INSTALL_ARGS="--apps_path=/opt/frappe/apps.json"; \ + fi; \ + bench init ${APP_INSTALL_ARGS} \ + --frappe-branch="${FRAPPE_BRANCH}" \ + --frappe-path="${FRAPPE_PATH}" \ + --no-procfile \ + --no-backups \ + --skip-redis-config-generation \ + --verbose \ + /home/frappe/frappe-bench; \ + cd /home/frappe/frappe-bench; \ + echo "{}" > sites/common_site_config.json; \ + \ + find apps -mindepth 1 -path "*/.git" -prune -exec rm -rf {} + + +FROM ${FRAPPE_IMAGE_PREFIX}/base:${FRAPPE_BRANCH} AS backend + +LABEL org.opencontainers.image.title="Enuxia Suite" +LABEL org.opencontainers.image.description="Development lab image for Frappe and ERPNext v17 maintained by Enuxia" +LABEL org.opencontainers.image.version="17-lab" +LABEL org.opencontainers.image.source="https://git.enuxia.fr/Enuxia-Public/enuxia-suite" + +USER frappe + +COPY --from=builder --chown=frappe:frappe \ + /home/frappe/frappe-bench \ + /home/frappe/frappe-bench + +WORKDIR /home/frappe/frappe-bench + +RUN cp -r \ + /home/frappe/frappe-bench/sites/assets \ + /home/frappe/frappe-bench/assets && \ + rm -rf /home/frappe/frappe-bench/sites/assets + +VOLUME [ \ + "/home/frappe/frappe-bench/sites", \ + "/home/frappe/frappe-bench/logs" \ +] + +USER root + +COPY resources/core/main-entrypoint.sh /usr/local/bin/entrypoint.sh +COPY resources/core/start.sh /usr/local/bin/start.sh + +RUN chmod 755 \ + /usr/local/bin/entrypoint.sh \ + /usr/local/bin/start.sh + +USER frappe + +ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] + +CMD ["start.sh"] diff --git a/manifests/apps.v17.lab.json b/manifests/apps.v17.lab.json new file mode 100644 index 0000000..1122a9a --- /dev/null +++ b/manifests/apps.v17.lab.json @@ -0,0 +1,6 @@ +[ + { + "url": "https://github.com/frappe/erpnext", + "branch": "develop" + } +]