-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose-mongo-dev.yml
More file actions
60 lines (55 loc) · 2.09 KB
/
Copy pathdocker-compose-mongo-dev.yml
File metadata and controls
60 lines (55 loc) · 2.09 KB
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
# use `docker compose --env-file .env.mongo.dev -f docker-compose-mongo-dev.yml up -d` to start the MongoDB and Mongo Express services for development
name: ons-mongo-dev
services:
mongo:
image: mongo:7
container_name: ons-mongo
restart: unless-stopped
# No explicit `command:` needed — --bind_ip_all and --port 27017 are defaults
ports:
- "${MONGO_PORT:-27017}:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_ROOT_USERNAME:-root}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_ROOT_PASSWORD:-root}
MONGO_INITDB_DATABASE: ${MONGO_APP_DB:-ons}
# Passed through to the init script (01-init-app-user.sh)
MONGO_APP_DB: ${MONGO_APP_DB:-ons}
MONGO_APP_USERNAME: ${MONGO_APP_USERNAME:-ons_app}
MONGO_APP_PASSWORD: ${MONGO_APP_PASSWORD:-ons_app_dev_password} # gitguardian:ignore — dev default, override via --env-file
volumes:
- mongo_data_dev:/data/db
- ./docker/mongo/init:/docker-entrypoint-initdb.d:ro
healthcheck:
test:
[
"CMD-SHELL",
'mongosh --quiet -u "${MONGO_ROOT_USERNAME:-root}" -p "${MONGO_ROOT_PASSWORD:-root}" --authenticationDatabase admin --eval "db.adminCommand(\"ping\").ok" | grep 1',
]
interval: 10s
timeout: 5s
retries: 10
start_period: 25s
networks:
- mongo_dev_net
mongo-express:
image: mongo-express:1
container_name: ons-mongo-express
restart: unless-stopped
ports:
- "${MONGO_EXPRESS_PORT:-8081}:8081"
environment:
ME_CONFIG_MONGODB_URL: mongodb://${MONGO_ROOT_USERNAME:-root}:${MONGO_ROOT_PASSWORD:-root}@mongo:27017/admin?authSource=admin
ME_CONFIG_BASICAUTH_ENABLED: "true"
ME_CONFIG_BASICAUTH_USERNAME: ${MONGO_EXPRESS_USERNAME:-devadmin}
ME_CONFIG_BASICAUTH_PASSWORD: ${MONGO_EXPRESS_PASSWORD:-devadmin} # gitguardian:ignore — dev default, override via --env-file
ME_CONFIG_OPTIONS_EDITORTHEME: default
depends_on:
mongo:
condition: service_healthy
networks:
- mongo_dev_net
volumes:
mongo_data_dev:
networks:
mongo_dev_net:
driver: bridge