* docs: reorganize documentation structure into logical categories
Restructure documentation into organized directories for better navigation:
- getting-started/: Quick start guides for new users
- setup/: Setup and configuration guides
- production/: Production deployment guides (backup, TLS, multi-tenancy)
- operations/: Site operations and management
- development/: Development workflow guides
- migration/: Migration guides
- troubleshooting/: Troubleshooting guides
- reference/: Reference documentation (container setup, build configs)
Rename files for consistency:
- Use kebab-case naming convention throughout
- Remove numbered prefixes from container-setup files
- Use descriptive names (backup-strategy, tls-ssl-setup, etc.)
Update all internal cross-references to reflect new file locations.
Update README.md with organized documentation structure.
Fix image paths in development.md to use correct relative paths.
* docs: add numeric prefixes to directories and files for navigation order
Add numeric prefixes (01-08) to documentation directories to indicate
reading order and flow for first-time users:
- 01-getting-started: Quick start guides
- 02-setup: Setup and configuration
- 03-production: Production deployment
- 04-operations: Site operations
- 05-development: Development guides
- 06-migration: Migration guides
- 07-troubleshooting: Troubleshooting
- 08-reference: Reference documentation
Add numeric prefixes to files within directories to guide readers
through documentation in a logical sequence.
Update all cross-references throughout documentation to use new
numbered paths. Update README.md to reflect the new structure.
* docs: move container-setup to 02-setup and integrate setup-options content
Move container-setup directory from 08-reference/ to 02-setup/ to follow
PR feedback. The container-setup documentation provides a more linear
and coherent flow compared to the previous unstructured setup files.
Changes:
- Move container-setup/ from docs/08-reference/ to docs/02-setup/
- Integrate content from setup-options.md into structured flow:
- Create new 06-setup-examples.md with practical deployment scenarios
- Enhance 03-start-setup.md with site creation details from setup-options
- Remove redundant 01-setup-options.md (content now integrated)
- Rename 02-single-server-example.md to 07-single-server-example.md
- Update all cross-references throughout documentation:
- Update README.md with new structure under Setup section
- Fix links in site-operations.md and migration docs
- Add navigation links between container-setup files and examples
- Maintain container-setup's linear flow: overview → build → start → env → overrides
- Add practical examples document (06-setup-examples.md) that follows the container-setup guide
Result: Documentation now follows a clear progression from conceptual
overview through practical examples, with all setup information properly
organized under 02-setup/.
* docs: remove container-setup subfolder and flatten structure
Move all files from docs/02-setup/container-setup/ directly into docs/02-setup/
to eliminate unnecessary subfolder. Files are already numbered sequentially,
so they work perfectly at the same level.
Changes:
- Move all files from container-setup/ subfolder to 02-setup/ root
- Remove container-setup/ subfolder
- Update all cross-references:
- Update README.md paths (remove container-setup/ from all links)
- Fix references in site-operations.md
- Fix references in migration docs
- Update internal references in 06-setup-examples.md
- Fix relative path references in 01-overview.md, 02-build-setup.md, 03-start-setup.md
Result: Cleaner, flatter structure with all numbered setup files at the
same level, making navigation more straightforward.
* fix: Pre-commit failure is fixed
---------
Co-authored-by: adithya <adithya.a@bayesian.in>
* Added overrider to use docker secrets for mariadb password
* typo in overrider file name
* typo in overrider mariadb-secrets
* typo in overriider mariadb-secrets
* Secrets enviroment variable override
* secrets need different enviroment variable name
* no - for env variables
* Updated deprecated MinIO Env Variables
* refactored to be more robust and better error handling
* temprary debugging changes
* Revert "temprary debugging changes"
This reverts commit d01931064d.
* Revert "refactored to be more robust and better error handling"
This reverts commit fe508668a8.
* Revert "Updated deprecated MinIO Env Variables"
This reverts commit 76e66b5262.
* manually added boto3 before running _create_bucket
* lint formatting
Since the password would be parsed in single quote (') the text transformation is no longer needed. This update is based on issue #1002 (Unable to login to Traefik Dashboard even after providing Correct password in Basic Auth.)
Add steps to the database debugging guide to include more possibilities and fix mysql instructions.
Add explanation on the use of certain variables affected by network configuration.
* Decode the Base64-encoded Environment Variable
* add docs to fix nginx-entrypoint.sh: no such file on windows
* Revert "add docs to fix nginx-entrypoint.sh: no such file on windows"
This reverts commit 395d7cfa3f.
* add docs to fix nginx-entrypoint.sh: no such file on windows
* Fix files according to pre-commit hooks
* chore: enhance compose.yaml with variables for customize
* chore: use default blank values for db and redis variables in compose.yaml
* chore: Use env var for HTTP(S) publish ports in overrides
* docs: explain use of environment variables for image customization
* chore: use ERPNEXT_VERSION as default
* docs: fixed spelling errors
* Update custom-apps.md
made document clear to insert custom app to build and resolved error -
"url": "https://user:password@git.example.com/project/repository.git",
to "url": "https://{{ PAT }}@git.example.com/project/repository.git",
* docs: remove comments from shell commands
---------
Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com>
* fix: Add gpg and less
Add gpg so backup "bench --site yoursite.com backup --with-files --compress" does not fail if encryption is enabled
Add "less": fixes#1301
* fix: Add gpg and less
Add gpg so backup "bench --site yoursite.com backup --with-files --compress" does not fail if encryption is enabled
Add "less": fixes frappe#1301
* fix: Update documentation
update documentation to resemble current status
* fix: trailing whitespace
---------
Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com>
* Clarification on how to use custom image
* chore: fix lint
* refactor: websocket uses also customizable_image
---------
Co-authored-by: Mauricio Vidal <maovidal@users.noreply.github.com>
* docs: single server setup example
* docs: lint single server setup example
* docs: LAN based setup
* docs: fix traefik ssl override
* docs: move data directory to user home
* docs: remove env-file from exec commands
* Rename `bench-build` target to `bench` in bake file
* Update bake file and break everything
* Rename docker-compose.yml to compose.yml to avoid conflicting on `docker buildx bake`
* Fix groups in bake file
* Update frappe-worker
* Update frappe-nginx, erpnext-nginx
* Remove old erpnext images
* Update frappe-socketio
* Fix develop frappe-nginx build on linux/arm64
* Update dockerignore
* Update gitignore
* Update gitignore
* Update .env files
* Update installation (overrides)
* Update tests
* Fix image names
* Update compose
* Update get-latest-tags
* Update CI
* Setup and remove .env on tests
* Add build bench workflow
* Add triggers to main workflow
* Add release helm job
* Use reusable workflows
* Rollback
* Print configuration before running tests
* Show tests/.env
* Revert "Show tests/.env"
This reverts commit 4bc3bdebaf.
* Fix ci image versions
* Remove `frappe-` prefix in build directories
* Move requirements-dev.txt
* Fix image name in CI
* Update gitignore
* Update pre-commit config
* Drop `version:` in compose files
* Add push-backup
* Fix postgres CI test
* Change .yml to .yaml in compose file to follow compose-spec
* Remove prettierignore
* Fix dockerignore
* Change .yml to .yaml in compose file to follow compose-spec
* Don't depend on boto3 while testing (do it in backend)
* Update erpnext example version
* Don't fail ping on URLError
* Move assets volume to main compose file
* Fix type annotations for v12
* Fix postgres ci override in tests
* Fix spaces in socketio
* Reorder stages in nginx image, improve perfomance
* Remove unused todo
* Optimize worker build
* Install Node in worker image
* Add 502 error page
* Remove unused quiet-pull in tests
* Add configurator service to dynamically set common config
* Remove unused compose.ci-postgres.yml
* Use Python for configurator service: faster and more robust
* Add TODO.md
* Use python script to get latest tags in CI
* Clean up nginx dockerfile
* Remove VOLUME declaration
https://stackoverflow.com/a/55052682
* Add custom app example
* Remove pwd for now
* Remove pwd for now
* Use jq for parsing config in healthcheck
* Take advantage of yaml lang: add defaults in compose file. Also require env vars
* Fix CI
* Use resusable workflow
* Update
* Move release_helm job to main.yml
* Rename docker-build to docker-build-push
* Rename main to build_stable
* Rename bench targets
* Remove quotes from docker-build-push inputs
* Update build develop
* Remove HELM_DEPLOY_KEY secret from docker-build-push
* Add job names
* Remove build_bench workflow
* Update version input description in docker-build-push
* Print .env in tests, if version is develop, change to latest (for tag)
* Fix env setup
* Uncomment tests
* Parse and set short tags from git tag in bake file
* Move devcontainer settings to devcontainer.json
* Add db command notice
* Fix CI?
* Fix inconsistencies in development readme
* Remove pwd for now
* Remove custom apps for production instruction
* Update todos
* Add docs for images and compose files
* Add variables docs and allow custom frappe site name header
* Add notice about internal environment variables
* Update site-operations docs
* Update todos
* Add Overrides header in images-and-compose-files
* Update todos
* Remove extra docs
* Don't log requests in worker image (nginx already does that)
* Remove default value of FRAPPE_SITE_NAME_HEADER in example.env
* Use file that consistent in v12, v13 and develop to check /assets
* Fix paths in CI
* Update todos
* Remove TODO.md
* Update tests/_check_backup_files.py
Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com>
* Change variables MINIO_ACCESS_KEY and MINIO_SECRET_KEY to S3_ACCESS_KEY, S3_SECRET_KEY in tests
* Fix S3 test
* Use `nginxinc/nginx-unprivileged` instead of `nginx` image
Also use Ngnix 1.20 instead of unstable 1.21
* Fix https override
* Update Dockerfile
* Mount assets to backend service in read only mode
* Touch .build (#307), use scripts from nginx image to generate config and touch .build
* Update example env after building stable images
* Touch `.build` on develop image (untill https://github.com/frappe/frappe/issues/15396 is resolved)
* Add `make` to worker build deps for linux/arm64
* Fix update example.env job
* Fix .build creation on develop branch
* Move bench CI to different file
This way workflow runs only on PRs that relevant to bench build
* Fix app name in custom app example
* Update erpnext and frappe versions in example.env
* Don't install `svg-sprite` and `sass` node modules in nginx image on linux/arm64 (https://github.com/frappe/frappe/pull/15275)
* docs: README and docs
* docs: add link to site operations from docker swarm
* ci: fix tests as per changes to compose.yaml
* docs: move wiki articles to docs
* docs: fix add custom domain
* docs: fix patch code from images
* fix: do not expose port 80 for old images
* fix: custom domain labels to frontend container/service
* Add missing descriptions to envs in example.env
* Fix redis depends_on
* Fix docker compose in tests when not running on TTY
* Set -T flag in `docker compose exec` only if not tty
* Run pre-commit on docs
* Remove postgres healthcheck (it gets overriden by mariadb)
* Refactor test
* Update workflow names
* Add pip to dependabot config
* docs: backup and push (#19)
* Beautify changes by @revant (#20)
* feat: add gevent to worker image
* feat: real_ip configuration for nginx
* Return `healthcheck.sh` just for tests
Co-authored-by: Lev Vereshchagin <mail@vrslev.com>
* Make pretend bench catch unknown commands (closes#666)
* Remove debug print in push-backup
* Fix typing issues in push-backup
* Update file keys in push-backups: from abs path to <site>/<file>
* Refactor push-backup
* Move gevent installation in Frappe step
* Don't pin boto stubs requirement
* Cache pip deps on build
* Update example env versions
* Refactor check backup files
* Fix backup test
* Fix backup test
* Rename build/ dir to images/
* Rename build/ dir to images/
* Fix /build -> /images in docs
* Update example.env
* Use reusable workflow in frappe user instead of vrslev
* Fix compose`s `project` option in docs (https://github.com/frappe/frappe_docker/pull/617#issuecomment-1065178792)
* Add note about project option in site-operations doc
* Update example env
* Rename build arg `USERNAME` to `REGISTRY_USER`
* Allow https proxy to access Docker socket
* Revert "Use reusable workflow in frappe user instead of vrslev"
This reverts commit 6062500d0d.
* Revert "Revert "Use reusable workflow in frappe user instead of vrslev""
This reverts commit 4680d18ff8.
Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com>
* Update references to $ERPNEXT_VERSION
Documentation is making references to an unexisting $VERSION variable. I'm updating it to $ERPNEXT_VERSION.
* Update site-operations.md to use $FRAPPE_VERSION
Fix references to $ERPNEXT_VERSION when using frappe/frappe-worker so now it uses $FRAPPE_VERSION