-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
83 lines (81 loc) · 2.14 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# DOCKER COMPOSE (DEVELOPMENT)
# https://docs.docker.com/compose/compose-file/compose-file-v3
# https://github.com/BretFisher/node-docker-good-defaults
# https://hub.docker.com/_/mongo
# https://hub.docker.com/_/mongo-express
version: '3.9'
secrets:
GITHUB_TOKEN:
environment: GITHUB_TOKEN
services:
api:
container_name: api
image: dev.ghcr.io/flex-development/sneusers
build:
args:
NODE_ENV: development
context: .
dockerfile: ./Dockerfile
secrets:
- GITHUB_TOKEN
target: build
command: nodemon ./src/main.ts
depends_on:
db:
condition: service_healthy
environment:
APP_ENV: development
DB_HOSTNAME: db
DB_NAME: $DB_NAME
DB_PASSWORD: $DB_PASSWORD
DB_PORT: $DB_PORT
DB_USERNAME: $DB_USERNAME
FORCE_COLOR: 3
HTTPS_CERT: $HTTPS_CERT
HTTPS_KEY: $HTTPS_KEY
NODE_ENV: development
NODE_NO_WARNINGS: 1
URL: $URL
healthcheck:
test: curl --fail http://localhost/health || exit 1
ports:
- 80:80
- 443:443
pull_policy: build
restart: always
volumes:
- ./build.config.ts:/app/build.config.ts
- ./loader.mjs:/app/loader.mjs
- ./nodemon.json:/app/nodemon.json
- ./package.json:/app/package.json
- ./src:/app/src
- ./tsconfig.build.json:/app/tsconfig.build.json
- ./tsconfig.json:/app/tsconfig.json
working_dir: /app
db:
container_name: db
image: mongo:6.0.5-jammy
environment:
MONGO_INITDB_DATABASE: $DB_NAME
MONGO_INITDB_ROOT_PASSWORD: $DB_PASSWORD
MONGO_INITDB_ROOT_USERNAME: $DB_USERNAME
healthcheck:
test: |
mongosh $DB_NAME --eval='quit(db.runCommand({ ping: 1 }).ok ? 0 : 1)'
ports:
- $DB_PORT:27017
restart: always
mongo-express:
container_name: mongo-express
image: mongo-express:1.0.0-alpha.4
depends_on:
db:
condition: service_healthy
environment:
ME_CONFIG_MONGODB_ENABLE_ADMIN: true
ME_CONFIG_MONGODB_URL: mongodb://$DB_USERNAME:$DB_PASSWORD@mongo:$DB_PORT/
links:
- db:mongo
ports:
- 5000:8081
restart: always