--- version: "3" services: cloud: # Basic account management, network overlay, etc restart: always image: netsblox/cloud:nightly environment: - "RUN_MODE=local" network_mode: host depends_on: - mongo - minio services: # NetsBlox RPCs restart: always image: netsblox/services:nightly ports: - "8080:8080" environment: - "NETSBLOX_CLOUD=http://cloud:7777" - "NETSBLOX_CLOUD_ID=LocalServices" - "NETSBLOX_CLOUD_SECRET=SuperSecret" - "MONGO_URI=mongodb://mongo:27017" depends_on: - cloud volumes: - "${PWD}/services/src:/netsblox/src" browser: # Hosts the client files restart: always image: netsblox/browser:nightly ports: - "8000:8000" environment: - "CLOUD_URL=http://localhost:7777" - "PORT=8000" - "ENV=dev" volumes: - "${PWD}/browser/:/usr/src/browser/" depends_on: - cloud mongo: # Database for users, groups, project metadata, etc restart: always image: mongo:5.0-focal ports: - "27017:27017" volumes: - mongodb_data:/data/db minio: # Blob storage for project contents (media, etc) restart: always image: minio/minio:RELEASE.2022-11-11T03-44-20Z command: server /mnt/data ports: - "9000:9000" environment: - "MINIO_ACCESS_KEY=KEY" - "MINIO_SECRET_KEY=MYSECRET" volumes: - s3_data:/mnt/data volumes: s3_data: mongodb_data: