mirror of
https://github.com/frappe/frappe_docker.git
synced 2024-12-23 18:48:58 +00:00
e6088af885
* ci: skip frappe builds * refactor: build only one frappe/erpnext image * fix: lint nginx entrypoint script * docs: update and organize docs * docs: fix lint errors * fix(custom): pass base64 encoded apps json * ci: update dependabot * docs: update contributing * docs: remove info about multi image setup * fix: initiate empty common_site_config.json default config has host keys set to localhost causes connection errors * docs: add details for pwd volumes * fix: symlink assets instead of copy * fix: nginx private files * ci: skip docker compose v2 install for ubuntu-latest * fix: organize layers * feat: allow remove git remote for custom image * docs: allow remove git remote for custom image * fix: remove duplicate --apps_path
41 lines
1.8 KiB
Markdown
41 lines
1.8 KiB
Markdown
# Single Compose Setup
|
|
|
|
This setup is a very simple single compose file that does everything to start required services and a frappe-bench. It is used to start play with docker instance with a site. The file is located in the root of repo and named `pwd.yml`.
|
|
|
|
## Services
|
|
|
|
### frappe-bench components
|
|
|
|
- backend, serves gunicorn backend
|
|
- frontend, serves static assets through nginx frontend reverse proxies websocket and gunicorn.
|
|
- queue-default, default rq worker.
|
|
- queue-long, long rq worker.
|
|
- queue-short, short rq worker.
|
|
- schedule, event scheduler.
|
|
- websocket, socketio websocket for realtime communication.
|
|
|
|
### Run once configuration
|
|
|
|
- configurator, configures `common_site_config.json` to set db and redis hosts.
|
|
- create-site, creates one site to serve as default site for the frappe-bench.
|
|
|
|
### Service dependencies
|
|
|
|
- db, mariadb, container with frappe specific configuration.
|
|
- redis-cache, redis for cache data.
|
|
- redis-queue, redis for rq data.
|
|
- redis-socketio, redis for socketio pubsub.
|
|
|
|
## Volumes
|
|
|
|
- sites: Volume for bench data. Common config, all sites, all site configs and site files will be stored here.
|
|
- logs: Volume for bench logs. all process logs are dumped here. No need to mount it. Each container will create a temporary volume for logs if not specified.
|
|
|
|
## Adaptation
|
|
|
|
If you understand containers use the `pwd.yml` as a reference to build more complex setup like, single server example, Docker Swarm stack, Kubernetes Helm chart, etc.
|
|
|
|
This serves only site called `frontend` through the nginx. `FRAPPE_SITE_NAME_HEADER` is set to `frontend` and a default site called `frontend` is created.
|
|
|
|
Change the `$$host` will allow container to accept any host header and serve that site. To escape `$` in compose yaml use it like `$$`. To unset default site remove `currentsite.txt` file from `sites` directory.
|