-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
51 lines (49 loc) · 1.56 KB
/
Copy pathdocker-compose.yml
File metadata and controls
51 lines (49 loc) · 1.56 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
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- '6000:6000'
depends_on:
postgres:
condition: service_healthy
environment:
- PORT=6000
- NODE_ENV=production
- DB_USER=${DB_USER:?DB_USER is required}
- DB_PASSWORD=${DB_PASSWORD:?DB_PASSWORD is required}
- DB_HOST=postgres
- DB_PORT=5432
- DB_NAME=${DB_NAME:?DB_NAME is required}
- DATABASE_URL=postgres://${DB_USER}:${DB_PASSWORD}@postgres:5432/${DB_NAME}
- SESSION_SECRET=${SESSION_SECRET:?SESSION_SECRET is required}
- DEMO_USER_ID=${DEMO_USER_ID:?DEMO_USER_ID is required}
- DEMO_PASSWORD_HASH=${DEMO_PASSWORD_HASH:?DEMO_PASSWORD_HASH is required}
volumes:
- ./app:/app/app
- ./db:/app/db
- ./public:/app/public
- ./scripts:/app/scripts
- /app/node_modules
- ./app/lib/data.json:/app/public/data.json
- ./scripts/docker-entrypoint-prod.sh:/docker-entrypoint.sh
entrypoint: ['/docker-entrypoint.sh']
postgres:
image: postgres:15
ports:
- '6432:5432'
environment:
- POSTGRES_USER=${DB_USER:?DB_USER is required}
- POSTGRES_PASSWORD=${DB_PASSWORD:?DB_PASSWORD is required}
- POSTGRES_DB=${DB_NAME:?DB_NAME is required}
volumes:
- postgres-data:/var/lib/postgresql/data
- ./scripts/init-postgres-processed.sql:/docker-entrypoint-initdb.d/init-postgres.sql
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U ${DB_USER}']
interval: 5s
timeout: 5s
retries: 5
volumes:
postgres-data: