mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-17 13:55:08 +00:00
3.3 KiB
3.3 KiB
Easy-Frappe-Docker
Easy installation script for Frappe Docker for development and production
Run
bash ./easy-docker.sh
Run the entrypoint from a real Bash environment.
- On Linux, use your normal shell session.
- On Windows, use WSL or Git Bash.
- If you start
bashfrom PowerShell, that usually means WSL, so keep the path in Bash form such asbash ./easy-docker.sh, notbash .\easy-docker.sh.
Dependencies
gumis used for the TUI and is installed automatically when possibledockerCLI is required and checked on startupdocker compose(Compose v2 command) is required and checked on startupjqis required for stack JSON handling and is checked on startup- Docker Desktop includes Compose v2 by default; on Linux Engine-only setups you may need the
docker-compose-pluginpackage - Docker daemon must be running before the TUI starts
- Required docker commands are validated (
docker ps/exec/inspect/cpanddocker compose config/up/down/logs/exec/pull/ps) - Startup validation order is: CLI options,
gum,docker, thenjq - If package manager installation for
gumorjqfails, the script can use a pinned GitHub binary fallback - The
gumfallback is pinned togumv0.17.0and verifies SHA256 checksums fromscripts/easy-docker/config/gum-checksums.tsv - The
jqfallback is pinned tojq1.8.1and verifies SHA256 checksums fromscripts/easy-docker/config/jq-checksums.tsv dockerstill has no installation fallback path and must already be present- Runtime
jqresolution accepts eitherjqorjq.exe, so Windows-native setups with onlyjq.exeonPATHare supported
JSON Handling
metadata.jsonremains the source of truth for stack stateapps.jsonis still generated from stack metadata and still used for the image buildeasy-dockernow reads and writes stack JSON throughjqinstead of line-basedawkparsing- This is an internal robustness change only; the generated layout of
metadata.jsonandapps.jsonis intended to stay the same for users
Options
-h,--help- Shows usage and exits without starting the TUI
--no-installation-fallback- Disables GitHub binary fallback prompts for
gumandjq - If package manager installation fails, the script exits with manual installation guidance
- Disables GitHub binary fallback prompts for
Apps Catalog
- App options in the wizard are read from:
scripts/easy-docker/config/apps.tsv
- Format per line:
id<TAB>label<TAB>repo<TAB>default_branch<TAB>branches_csv
- Example:
erpnext<TAB>ERPNext<TAB>https://github.com/frappe/erpnext<TAB>version-15<TAB>version-15,version-16,develop
- The install selection in the wizard is limited to apps from this catalog.
- For each selected app, the wizard shows the configured branch list from this catalog and prompts branch selection.
Frappe Version Profiles
- During new stack creation (after stack name), the wizard asks for a Frappe branch profile from:
scripts/easy-docker/config/frappe.tsv
- Format per line:
id<TAB>label<TAB>frappe_branch
- Example:
v16<TAB>Frappe v16 (version-16)<TAB>version-16
- The selected
frappe_branchis saved in stackmetadata.jsonand used as default branch suggestion for app branch selection. - In
metadata.json, this value is stored top-level as:"frappe_branch": "version-16"(example)