-
Notifications
You must be signed in to change notification settings - Fork 18
/
docker-compose-production.yml
47 lines (43 loc) · 1.58 KB
/
docker-compose-production.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
version: '3.3'
services:
impact-graph:
#see https://github.com/docker/build-push-action/tree/releases/v1#tag_with_ref
# is sometime you want to rollback you can change the tag manually in server( not commit to git)
# from master to your desired commit hash and the run command:
# 1. docker-compose -f docker-compose-production.yml pull
# 2. docker-compose -f docker-compose-production.yml down
# 3. docker-compose -f docker-compose-production.yml up -d
image: ghcr.io/giveth/impact-graph:latest
command: npm run start:docker:server
environment:
- ENVIRONMENT=production
- LOG_PATH=/usr/src/app/logs/impact-graph.log
restart: always
volumes:
# You should have a production.env file in the config folder
# We should bind config in two path, I think because running migrations(ts) needs one and running
# application(js) read from another path, if we change migrations two run them as js files then we need just on binding
- type: bind
source: ./config
target: /usr/src/app/config
- type: bind
source: ./config
target: /usr/src/app/build/config
- type: bind
source: ./logs
target: /usr/src/app/logs
ports:
- "4000:4000"
depends_on:
- redis-giveth
redis-giveth:
# it's better to not using the latest tag, maybe latest tag have some breaking changes
image: redis:7.2.0-alpine3.18
container_name: redis-giveth
environment:
- REDIS_ALLOW_EMPTY_PASSWORD=yes
restart: always
volumes:
- redis-data:/data
volumes:
redis-data: