services: mariadb: image: mariadb:10.6 container_name: erpnext-mariadb restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} volumes: - mariadb_data:/var/lib/mysql redis-cache: image: redis:6.2 container_name: erpnext-redis-cache restart: unless-stopped command: redis-server --maxmemory 512mb --maxmemory-policy allkeys-lru volumes: - redis_cache_data:/data redis-queue: image: redis:6.2 container_name: erpnext-redis-queue restart: unless-stopped volumes: - redis_queue_data:/data redis-socketio: image: redis:6.2 container_name: erpnext-redis-socketio restart: unless-stopped volumes: - redis_socketio_data:/data backend: image: frappe/erpnext:${ERPNEXT_VERSION} container_name: erpnext-backend restart: unless-stopped command: bench serve --port 8000 environment: DB_HOST: mariadb DB_PORT: 3306 REDIS_CACHE: redis-cache REDIS_QUEUE: redis-queue REDIS_SOCKETIO: redis-socketio SOCKETIO_PORT: 9000 depends_on: - mariadb - redis-cache - redis-queue - redis-socketio volumes: - sites:/home/frappe/frappe-bench/sites websocket: image: frappe/erpnext:${ERPNEXT_VERSION} container_name: erpnext-websocket restart: unless-stopped command: node /home/frappe/frappe-bench/apps/frappe/socketio.js depends_on: - backend ports: - "9000:9000" volumes: - sites:/home/frappe/frappe-bench/sites queue-default: image: frappe/erpnext:${ERPNEXT_VERSION} container_name: erpnext-queue-default restart: unless-stopped command: bench worker --queue default depends_on: - backend volumes: - sites:/home/frappe/frappe-bench/sites queue-short: image: frappe/erpnext:${ERPNEXT_VERSION} container_name: erpnext-queue-short restart: unless-stopped command: bench worker --queue short depends_on: - backend volumes: - sites:/home/frappe/frappe-bench/sites queue-long: image: frappe/erpnext:${ERPNEXT_VERSION} container_name: erpnext-queue-long restart: unless-stopped command: bench worker --queue long depends_on: - backend volumes: - sites:/home/frappe/frappe-bench/sites scheduler: image: frappe/erpnext:${ERPNEXT_VERSION} container_name: erpnext-scheduler restart: unless-stopped command: bench schedule depends_on: - backend volumes: - sites:/home/frappe/frappe-bench/sites frontend: image: frappe/erpnext:${ERPNEXT_VERSION} container_name: erpnext-frontend restart: unless-stopped command: nginx-entrypoint.sh depends_on: - backend - websocket ports: - "${HTTP_PUBLISH_PORT}:8080" volumes: - sites:/home/frappe/frappe-bench/sites volumes: mariadb_data: redis_cache_data: redis_queue_data: redis_socketio_data: sites: