docs: Revise core services section in Getting Started guide for clarity and accuracy

This commit is contained in:
duthink 2025-11-04 12:40:15 +05:30
parent a7ccf3565d
commit 41f30248c9

View file

@ -30,13 +30,19 @@ Frappe Docker provides a comprehensive containerized environment for developing
### Core Services ### Core Services
- **backend** - Gunicorn WSGI server running Frappe applications The base compose file includes these essential services:
- **frontend** - Nginx for static files and reverse proxy
- **queue-short/long** - Background job workers for asynchronous task processing - **configurator** - Initialization service that configures database and Redis connections; runs on startup and exits
- **scheduler** - Cron-style task scheduler for periodic jobs - **backend** - Werkzeug development server for dynamic content processing
- **websocket** - Socket.IO server for real-time communications - **frontend** - Nginx reverse proxy that serves static assets and routes requests
- **db** - MariaDB/PostgreSQL database server - **websocket** - Node.js server running Socket.IO for real-time communications
- **redis-cache/queue** - Redis for caching and job queue management - **queue-short/long** - Python workers using RQ (Redis Queue) for asynchronous background job processing
- **scheduler** - Python service that runs scheduled tasks using the schedule library
Additional services are added through compose overrides:
- **db** - MariaDB or PostgreSQL database server (via `compose.mariadb.yaml` or `compose.postgres.yaml`)
- **redis-cache/queue** - Redis instances for caching and job queues (via `compose.redis.yaml`)
### How Services Work Together ### How Services Work Together
@ -45,7 +51,7 @@ User Request
[frontend (Nginx)] → Static files served directly [frontend (Nginx)] → Static files served directly
[backend (Gunicorn)] → Dynamic content processing [backend (Werkzeug)] → Dynamic content processing
↓ ↓ ↓ ↓
[db (MariaDB)] [redis-cache] [db (MariaDB)] [redis-cache]
@ -68,10 +74,14 @@ Real-time:
### 📁 images/ - Docker Image Definitions ### 📁 images/ - Docker Image Definitions
- **images/bench/** - Development container with full Frappe tooling and CLI Four predefined Dockerfiles are available, each serving different use cases:
- **images/production/** - Production-optimized containers (smaller, security-hardened)
- **images/custom/** - Build custom apps using apps.json configuration - **images/bench/** - Sets up only the Bench CLI for development or debugging; does not include runtime services
- **images/layered/** - Optimized layered builds for faster rebuilds - **images/custom/** - Multi-purpose Python backend built from plain Python base image; installs apps from `apps.json`; suitable for **production** and testing; ideal when you need control over Python/Node versions
- **images/layered/** - Same final contents as `custom` but based on prebuilt images from Docker Hub; faster builds for production when using Frappe-managed dependency versions
- **images/production/** - Installs only Frappe and ERPNext (not customizable with `apps.json`); best for **quick starts or exploration**; for real deployments, use `custom` or `layered`
> **Note:** For detailed build arguments and advanced configuration options, see [docs/container-setup/01-overview.md](container-setup/01-overview.md).
### 📁 overrides/ - Compose File Extensions ### 📁 overrides/ - Compose File Extensions
@ -419,7 +429,7 @@ images/*/Dockerfile # Core images - extend rather than modify
``` ```
.github/workflows/ # CI/CD pipelines .github/workflows/ # CI/CD pipelines
images/production/ # Production containers images/*/ # Core image definitions
resources/ # Core templates resources/ # Core templates
``` ```