frappe_docker/compose.yaml

125 lines
No EOL
2.9 KiB
YAML

version: "3.9"
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: