version: '2' services: # Actual Speckle Server dependencies postgres: image: 'postgres:13.1-alpine' restart: always environment: POSTGRES_DB: speckle POSTGRES_USER: speckle POSTGRES_PASSWORD: speckle volumes: - C:\Dev\ifcInvestigation\Speckle\speckle-server\postgres-data:/var/lib/postgresql/data/ - C:\Dev\ifcInvestigation\Speckle\speckle-server\setup\db\10-docker_postgres_init.sql:/docker-entrypoint-initdb.d/10-docker_postgres_init.sql ports: - '127.0.0.1:5432:5432' redis: image: 'redis:6.0-alpine' restart: always volumes: - C:\Dev\ifcInvestigation\Speckle\speckle-server\redis-data:/data ports: - '127.0.0.1:6379:6379' minio: image: 'minio/minio' command: server /data --console-address ":9001" restart: always volumes: - C:\Dev\ifcInvestigation\Speckle\speckle-server\minio-data:/data ports: - '127.0.0.1:9000:9000' - '127.0.0.1:9001:9001' # Useful for debugging / exploring local databases pgadmin: image: dpage/pgadmin4 restart: always environment: PGADMIN_DEFAULT_EMAIL: admin@localhost.com PGADMIN_DEFAULT_PASSWORD: admin volumes: - C:\Dev\ifcInvestigation\Speckle\speckle-server\pgadmin-data:/var/lib/pgadmin ports: - '127.0.0.1:16543:80' depends_on: - postgres redis_insight: image: redislabs/redisinsight:latest restart: always volumes: - C:\Dev\ifcInvestigation\Speckle\speckle-server\redis_insight-data:/db ports: - '127.0.0.1:8001:8001' depends_on: - redis speckle-frontend: build: context: . dockerfile: packages/frontend/Dockerfile image: speckle/speckle-frontend:local restart: always ports: - '127.0.0.1:5060:80' environment: FILE_SIZE_LIMIT_MB: 100 #### # Speckle Server ####### speckle-server: build: context: . dockerfile: packages/server/Dockerfile image: speckle/speckle-server:local restart: always environment: # TODO: Change this to the URL of the speckle server, as accessed from the network CANONICAL_URL: 'http://127.0.0.1:5060' # TODO: Change this to a unique secret for this server SESSION_SECRET: 'mySecret' STRATEGY_LOCAL: 'true' DEBUG: 'speckle:*' POSTGRES_URL: 'postgres' POSTGRES_USER: 'speckle' POSTGRES_PASSWORD: 'speckle' POSTGRES_DB: 'speckle' REDIS_URL: 'redis://127.0.0.1:6379' S3_ENDPOINT: 'http://127.0.0.1:9000' S3_ACCESS_KEY: 'minioadmin' S3_SECRET_KEY: 'minioadmin' S3_BUCKET: 'speckle-server' S3_CREATE_BUCKET: 'true' FILE_SIZE_LIMIT_MB: 100 WAIT_HOSTS: postgres:5432, redis:6379, minio:9000 preview-service: build: context: . dockerfile: packages/preview-service/Dockerfile image: speckle/speckle-preview-service:local restart: always mem_limit: '3000m' memswap_limit: '3000m' environment: DEBUG: 'preview-service:*' PG_CONNECTION_STRING: 'postgres://speckle:speckle@postgres/speckle' WAIT_HOSTS: postgres:5432 webhook-service: build: context: . dockerfile: packages/webhook-service/Dockerfile image: speckle/speckle-webhook-service:local restart: always environment: DEBUG: 'webhook-service:*' PG_CONNECTION_STRING: 'postgres://speckle:speckle@postgres/speckle' WAIT_HOSTS: postgres:5432 fileimport-service: build: context: . dockerfile: packages/fileimport-service/Dockerfile image: speckle/speckle-fileimport-service:local restart: always environment: DEBUG: 'fileimport-service:*' PG_CONNECTION_STRING: 'postgres://speckle:speckle@postgres/speckle' WAIT_HOSTS: postgres:5432 S3_ENDPOINT: 'http://127.0.0.1:9000' S3_ACCESS_KEY: 'minioadmin' S3_SECRET_KEY: 'minioadmin' S3_BUCKET: 'speckle-server' SPECKLE_SERVER_URL: 'http://127.0.0.1:5060'