version: '3' services: erpnext-nginx: image: frappe/erpnext-nginx:${ERPNEXT_VERSION} restart: on-failure environment: - FRAPPE_PY=erpnext-python - FRAPPE_PY_PORT=8000 - FRAPPE_SOCKETIO=frappe-socketio - SOCKETIO_PORT=9000 - LETSENCRYPT_HOST=${SITES} - VIRTUAL_HOST=${SITES} - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} depends_on: - erpnext-python - frappe-socketio - frappe-worker-default - frappe-worker-long - frappe-worker-short - fix-vol-permissions links: - erpnext-python - frappe-socketio - frappe-worker-default - frappe-worker-long - frappe-worker-short volumes: - sites-vol:/var/www/html/sites:rw - assets-vol:/assets:rw erpnext-python: image: frappe/erpnext-worker:${ERPNEXT_VERSION} restart: on-failure environment: - MARIADB_HOST=${MARIADB_HOST} - REDIS_CACHE=redis-cache:6379 - REDIS_QUEUE=redis-queue:6379 - REDIS_SOCKETIO=redis-socketio:6379 - SOCKETIO_PORT=9000 - AUTO_MIGRATE=1 volumes: - sites-vol:/home/frappe/frappe-bench/sites:rw - assets-vol:/home/frappe/frappe-bench/sites/assets:rw - logs-vol:/home/frappe/frappe-bench/logs:rw frappe-socketio: image: frappe/frappe-socketio:${FRAPPE_VERSION} restart: on-failure depends_on: - redis-socketio links: - redis-socketio volumes: - sites-vol:/home/frappe/frappe-bench/sites:rw - logs-vol:/home/frappe/frappe-bench/logs:rw frappe-worker-default: image: frappe/erpnext-worker:${ERPNEXT_VERSION} restart: on-failure command: worker depends_on: - redis-queue - redis-cache links: - redis-queue - redis-cache volumes: - sites-vol:/home/frappe/frappe-bench/sites:rw - logs-vol:/home/frappe/frappe-bench/logs:rw frappe-worker-short: image: frappe/erpnext-worker:${ERPNEXT_VERSION} restart: on-failure command: worker environment: - WORKER_TYPE=short depends_on: - redis-queue - redis-cache links: - redis-queue - redis-cache volumes: - sites-vol:/home/frappe/frappe-bench/sites:rw - logs-vol:/home/frappe/frappe-bench/logs:rw frappe-worker-long: image: frappe/erpnext-worker:${ERPNEXT_VERSION} restart: on-failure command: worker environment: - WORKER_TYPE=long depends_on: - redis-queue - redis-cache links: - redis-queue - redis-cache volumes: - sites-vol:/home/frappe/frappe-bench/sites:rw - logs-vol:/home/frappe/frappe-bench/logs:rw frappe-schedule: image: frappe/erpnext-worker:${ERPNEXT_VERSION} restart: on-failure command: schedule depends_on: - redis-queue - redis-cache links: - redis-queue - redis-cache volumes: - sites-vol:/home/frappe/frappe-bench/sites:rw - logs-vol:/home/frappe/frappe-bench/logs:rw fix-vol-permissions: image: frappe/erpnext-worker:${ERPNEXT_VERSION} user: root command: chown -R 1000:1000 /sites /assets /logs volumes: - sites-vol:/sites - assets-vol:/assets - logs-vol:/logs volumes: assets-vol: sites-vol: logs-vol: