services: postgres: image: postgres:18.3 container_name: k12study-dev-postgres restart: unless-stopped environment: POSTGRES_DB: ${K12STUDY_DB_NAME:-k12study} POSTGRES_USER: ${K12STUDY_DB_USER:-k12study} POSTGRES_PASSWORD: ${K12STUDY_DB_PASSWORD:-k12study} PGDATA: /var/lib/postgresql/18/docker TZ: ${TZ:-Asia/Shanghai} ports: - "${K12STUDY_DB_PORT:-5432}:5432" volumes: - ${K12STUDY_RUN_DIR:-./runtime}/postgres/pg18:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U ${K12STUDY_DB_USER:-k12study} -d ${K12STUDY_DB_NAME:-k12study}"] interval: 10s timeout: 5s retries: 10 networks: - k12study-dev-net redis: image: redis:7 container_name: k12study-dev-redis restart: unless-stopped command: redis-server --appendonly yes ports: - "${K12STUDY_REDIS_PORT:-6379}:6379" volumes: - ${K12STUDY_RUN_DIR:-./runtime}/redis/data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 10 networks: - k12study-dev-net nacos: image: nacos/nacos-server:v3.2.1-2026.04.03 container_name: k12study-dev-nacos restart: unless-stopped environment: MODE: standalone NACOS_AUTH_ENABLE: "false" NACOS_AUTH_TOKEN: ${NACOS_AUTH_TOKEN:-azEyc3R1ZHktbmFjb3MtZGV2LXRva2VuLTIwMjY=} NACOS_AUTH_IDENTITY_KEY: ${NACOS_AUTH_IDENTITY_KEY:-serverIdentity} NACOS_AUTH_IDENTITY_VALUE: ${NACOS_AUTH_IDENTITY_VALUE:-security} TZ: ${TZ:-Asia/Shanghai} JVM_XMS: 256m JVM_XMX: 512m JVM_XMN: 128m ports: - "${K12STUDY_REGISTRY_PORT:-8848}:8848" - "${K12STUDY_REGISTRY_GRPC_PORT:-9848}:9848" - "${K12STUDY_REGISTRY_RAFT_PORT:-9849}:9849" volumes: - ${K12STUDY_RUN_DIR:-./runtime}/nacos/logs:/home/nacos/logs - ${K12STUDY_RUN_DIR:-./runtime}/nacos/data:/home/nacos/data networks: - k12study-dev-net nebula-metad: image: vesoft/nebula-metad:v3.8.0 container_name: k12study-dev-nebula-metad restart: unless-stopped command: - --meta_server_addrs=nebula-metad:9559 - --local_ip=nebula-metad - --ws_ip=0.0.0.0 - --port=9559 - --data_path=/data/meta ports: - "${K12STUDY_NEBULA_META_PORT:-9559}:9559" volumes: - ${K12STUDY_RUN_DIR:-./runtime}/nebula/meta:/data/meta networks: - k12study-dev-net nebula-storaged: image: vesoft/nebula-storaged:v3.8.0 container_name: k12study-dev-nebula-storaged restart: unless-stopped command: - --meta_server_addrs=nebula-metad:9559 - --local_ip=nebula-storaged - --ws_ip=0.0.0.0 - --port=9779 - --data_path=/data/storage depends_on: - nebula-metad ports: - "${K12STUDY_NEBULA_STORAGE_PORT:-9779}:9779" volumes: - ${K12STUDY_RUN_DIR:-./runtime}/nebula/storage:/data/storage networks: - k12study-dev-net nebula-graphd: image: vesoft/nebula-graphd:v3.8.0 container_name: k12study-dev-nebula-graphd restart: unless-stopped command: - --meta_server_addrs=nebula-metad:9559 - --local_ip=nebula-graphd - --ws_ip=0.0.0.0 - --port=9669 depends_on: - nebula-metad - nebula-storaged ports: - "${K12STUDY_GRAPH_PORT:-9669}:9669" networks: - k12study-dev-net milvus-etcd: image: quay.io/coreos/etcd:v3.5.5 container_name: k12study-dev-milvus-etcd restart: unless-stopped environment: ETCD_AUTO_COMPACTION_MODE: revision ETCD_AUTO_COMPACTION_RETENTION: "1000" ETCD_QUOTA_BACKEND_BYTES: "4294967296" ETCD_SNAPSHOT_COUNT: "50000" command: etcd -advertise-client-urls=http://milvus-etcd:2379 -listen-client-urls=http://0.0.0.0:2379 --data-dir=/etcd volumes: - ${K12STUDY_RUN_DIR:-./runtime}/milvus/etcd:/etcd networks: - k12study-dev-net milvus-minio: image: minio/minio:RELEASE.2024-11-07T00-52-20Z container_name: k12study-dev-milvus-minio restart: unless-stopped environment: MINIO_ACCESS_KEY: ${K12STUDY_MINIO_ACCESS_KEY:-minioadmin} MINIO_SECRET_KEY: ${K12STUDY_MINIO_SECRET_KEY:-minioadmin} command: minio server /data ports: - "${K12STUDY_MINIO_PORT:-9000}:9000" volumes: - ${K12STUDY_RUN_DIR:-./runtime}/milvus/minio:/data networks: - k12study-dev-net milvus: image: milvusdb/milvus:v2.4.8 container_name: k12study-dev-milvus restart: unless-stopped command: ["milvus", "run", "standalone"] depends_on: - milvus-etcd - milvus-minio environment: ETCD_ENDPOINTS: milvus-etcd:2379 MINIO_ADDRESS: milvus-minio:9000 ports: - "${K12STUDY_VECTOR_PORT:-19530}:19530" - "${K12STUDY_VECTOR_HTTP_PORT:-9091}:9091" volumes: - ${K12STUDY_RUN_DIR:-./runtime}/milvus/data:/var/lib/milvus networks: - k12study-dev-net networks: k12study-dev-net: name: ${K12STUDY_DOCKER_NET:-k12study-dev-net} driver: bridge