-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathdocker-compose.yml
64 lines (64 loc) · 1.72 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
services:
bebop:
build:
dockerfile: Dockerfile
init: true
ports:
- 3000:3000
depends_on:
- mongo
- minio
# Alternatively:
# depends_on:
# mongo:
# condition: service_healthy
# minio:
# condition: service_started
# But not needed as bebop takes a while to start up
environment:
- MONGODB_URL=${MONGODB_URL:-mongodb://mongodb:27017}
- ORIGIN=${ORIGIN:-http://localhost:3000}
- S3_ENDPOINT_URL=${S3_ENDPOINT_URL:-http://minio:9000}
- PUBLIC_S3_ENDPOINT_URL=${PUBLIC_S3_ENDPOINT_URL:-${S3_ENDPOINT_URL:-http://localhost:9000}}
- S3_BUCKET=${S3_BUCKET:-bebop}
- S3_REGION=${S3_REGION:-localhost}
- S3_KEY_ID=${S3_KEY_ID:-minio}
- S3_KEY_SECRET=${S3_KEY_SECRET:-minio123}
env_file:
- path: .env
required: true
- path: .env.local
required: true
extra_hosts:
- 'host.docker.internal:host-gateway'
mongo:
image: mongo:6.0.9
hostname: mongodb
command: --replSet rs0 --bind_ip_all
mem_limit: '5g'
mem_reservation: '3g'
healthcheck:
test: test $$(mongosh --quiet --eval 'try {rs.status().ok} catch(e) {rs.initiate().ok}') -eq 1
interval: 5s
volumes:
- mongo-data:/data/db
minio:
image: quay.io/minio/minio:latest
hostname: minio
ports:
- 9000:9000
environment:
MINIO_ACCESS_KEY: ${S3_KEY_ID:-minio}
MINIO_SECRET_KEY: ${S3_KEY_SECRET:-minio123}
MINIO_SERVER_URL: ${S3_ENDPOINT_URL:-http://localhost:9000}
volumes:
- minio-data:/data
command: server /data
env_file:
- path: .env
required: true
- path: .env.local
required: true
volumes:
mongo-data:
minio-data: