# Lean ERPNext v15 stack for Voiced's live integration tests (project name: voiced-erp). # db + redis + backend (gunicorn, published on 127.0.0.1:8088) + one worker. No nginx/websocket/scheduler. # setup.sh starts it in order (db, redis, configurator, then backend and worker); do not `up` it blindly. # Image: voiced-erp-ic:v15 = frappe/erpnext v15 + the india_compliance app files (see Containerfile.ic). name: voiced-erp services: db: image: docker.io/library/mariadb:11.8 container_name: voiced-erp-db command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci - --skip-character-set-client-handshake - --innodb-buffer-pool-size=256M environment: MARIADB_ROOT_PASSWORD: admin volumes: - voiced-erp-db:/var/lib/mysql redis: image: docker.io/library/redis:8.6-alpine container_name: voiced-erp-redis configurator: image: localhost/voiced-erp-ic:v15 container_name: voiced-erp-configurator restart: "no" entrypoint: ["bash", "-c"] command: - > wait-for-it -t 120 db:3306; ls -1 apps > sites/apps.txt; bench set-config -g db_host db; bench set-config -gp db_port 3306; bench set-config -g redis_cache redis://redis:6379; bench set-config -g redis_queue redis://redis:6379; bench set-config -g redis_socketio redis://redis:6379; bench set-config -gp socketio_port 9000; volumes: - voiced-erp-sites:/home/frappe/frappe-bench/sites - voiced-erp-logs:/home/frappe/frappe-bench/logs depends_on: - db - redis backend: image: localhost/voiced-erp-ic:v15 container_name: voiced-erp-backend ports: - "127.0.0.1:8088:8000" volumes: - voiced-erp-sites:/home/frappe/frappe-bench/sites - voiced-erp-logs:/home/frappe/frappe-bench/logs worker: image: localhost/voiced-erp-ic:v15 container_name: voiced-erp-worker command: ["bench", "worker", "--queue", "short,default,long"] volumes: - voiced-erp-sites:/home/frappe/frappe-bench/sites - voiced-erp-logs:/home/frappe/frappe-bench/logs volumes: voiced-erp-db: voiced-erp-sites: voiced-erp-logs: