## # Kneron Model Converter — Development docker-compose # # Usage: # docker-compose up # local mode (shared volume) # STORAGE_BACKEND=s3 docker-compose up # S3/MinIO mode # docker-compose up --scale bie-worker=3 # scale BIE workers ## volumes: job-data: services: # ---------- Infrastructure ---------- redis: image: redis:7-alpine expose: - "6379" command: redis-server --save "" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 3 # ---------- Web UI ---------- web: build: ./apps/web ports: - "9500:3000" depends_on: scheduler: condition: service_healthy restart: unless-stopped # ---------- Scheduler ---------- scheduler: build: ./apps/task-scheduler ports: - "9501:4000" depends_on: redis: condition: service_healthy volumes: - job-data:/data/jobs environment: - PORT=4000 - REDIS_URL=redis://redis:6379 - JOB_DATA_DIR=/data/jobs - FRONTEND_URL=http://localhost:9500 - STORAGE_BACKEND=${STORAGE_BACKEND:-local} - MINIO_ENDPOINT_URL=${MINIO_ENDPOINT_URL:-http://192.168.0.130:9000} - MINIO_BUCKET=${MINIO_BUCKET:-convertet-working-space} - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY:-convuser} - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} - MINIO_REGION=${MINIO_REGION:-us-east-1} - MINIO_LIFECYCLE_DAYS=${MINIO_LIFECYCLE_DAYS:-7} restart: unless-stopped # ---------- Workers (stub mode) ---------- onnx-worker: build: context: . dockerfile: services/workers/Dockerfile.stub depends_on: redis: condition: service_healthy volumes: - job-data:/data/jobs environment: - STAGE=onnx - REDIS_URL=redis://redis:6379 - JOB_DATA_DIR=/data/jobs - WORKER_MODE=${WORKER_MODE:-stub} - STORAGE_BACKEND=${STORAGE_BACKEND:-local} - MINIO_ENDPOINT_URL=${MINIO_ENDPOINT_URL:-http://192.168.0.130:9000} - MINIO_BUCKET=${MINIO_BUCKET:-convertet-working-space} - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY:-convuser} - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} - MINIO_REGION=${MINIO_REGION:-us-east-1} - MINIO_LIFECYCLE_DAYS=${MINIO_LIFECYCLE_DAYS:-7} restart: unless-stopped bie-worker: build: context: . dockerfile: services/workers/Dockerfile.stub depends_on: redis: condition: service_healthy volumes: - job-data:/data/jobs environment: - STAGE=bie - REDIS_URL=redis://redis:6379 - JOB_DATA_DIR=/data/jobs - WORKER_MODE=${WORKER_MODE:-stub} - STORAGE_BACKEND=${STORAGE_BACKEND:-local} - MINIO_ENDPOINT_URL=${MINIO_ENDPOINT_URL:-http://192.168.0.130:9000} - MINIO_BUCKET=${MINIO_BUCKET:-convertet-working-space} - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY:-convuser} - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} - MINIO_REGION=${MINIO_REGION:-us-east-1} - MINIO_LIFECYCLE_DAYS=${MINIO_LIFECYCLE_DAYS:-7} restart: unless-stopped nef-worker: build: context: . dockerfile: services/workers/Dockerfile.stub depends_on: redis: condition: service_healthy volumes: - job-data:/data/jobs environment: - STAGE=nef - REDIS_URL=redis://redis:6379 - JOB_DATA_DIR=/data/jobs - WORKER_MODE=${WORKER_MODE:-stub} - STORAGE_BACKEND=${STORAGE_BACKEND:-local} - MINIO_ENDPOINT_URL=${MINIO_ENDPOINT_URL:-http://192.168.0.130:9000} - MINIO_BUCKET=${MINIO_BUCKET:-convertet-working-space} - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY:-convuser} - MINIO_SECRET_KEY=${MINIO_SECRET_KEY} - MINIO_REGION=${MINIO_REGION:-us-east-1} - MINIO_LIFECYCLE_DAYS=${MINIO_LIFECYCLE_DAYS:-7} restart: unless-stopped