payments app bundledA production-ready multi-arch build of Frappe LMS, fixing a bug in
the official ghcr.io/frappe/lms:stable image where the payments app — a required dependency
declared in LMS's own hooks.py — is missing from the image entirely. This causes
ModuleNotFoundError: No module named 'payments' during bench new-site --install-app lms on the
official image.
Built from frappe_docker's official images/layered/Containerfile, with a corrected apps.json:
[
{ "url": "https://github.com/frappe/payments", "branch": "develop" },
{ "url": "https://github.com/frappe/lms", "branch": "develop" }
]
Targets Frappe v16 (Python 3.14, Node.js 24).
| Tag | Description |
|---|---|
latest | Built from main branch of the build repo |
<branch-name> | Built from other branches, for testing |
Multi-arch: linux/amd64 and linux/arm64.
This image follows the same multi-service pattern as official Frappe production images
(configurator, create-site, backend, frontend, websocket, queue-short, queue-long,
scheduler — one image, different commands per service). It is a drop-in replacement for
ghcr.io/frappe/lms:stable in any frappe_docker-style compose file.
services:
backend:
image: amirul123/lms-custom:latest
# ...
frontend:
image: amirul123/lms-custom:latest
command: ["nginx-entrypoint.sh"]
# ...
# same image for websocket, queue-short, queue-long, scheduler, configurator, create-site
Since payments is actually present in this image, install it alongside lms:
bench new-site yoursite.com \
--mariadb-root-password <password> \
--admin-password <password> \
--install-app payments \
--install-app lms \
--set-default
develop branch instead of a pinned releasefrappe/payments does not yet have a dedicated version-16 branch
(frappe/payments#200 — open request). v16
compatibility landed on its develop branch instead, so that's what this image tracks for now. This
image will move to a pinned version-16 branch once upstream cuts one.
See the build repo — GitHub Actions workflow builds
natively per-architecture and merges into a single manifest on every push to main.
Open an issue on the build repo. A PR upstreaming
the apps.json fix to frappe/lms's own build pipeline is planned.
Content type
Image
Digest
sha256:ad61e0319…
Size
1 GB
Last updated
2 days ago
docker pull amirul123/lms-custom