efb52cf16eabe3d8c2b7b7cb337824274333b092
[pti/o2.git] / docker-compose.yml
1 version: "3"
2
3 services:
4
5   redis_pubsub:
6     build:
7       context: .
8       dockerfile: Dockerfile.localtest
9     image: o2imsdms-image
10     depends_on:
11       - postgres
12       - redis
13     environment:
14       - DB_HOST=postgres
15       - DB_PASSWORD=o2ims123
16       - REDIS_HOST=redis
17       - PYTHONDONTWRITEBYTECODE=1
18       - OS_AUTH_URL=${OS_AUTH_URL}
19       - OS_USERNAME=${OS_USERNAME}
20       - OS_PASSWORD=${OS_PASSWORD}
21     volumes:
22       - ./o2ims:/o2ims
23       - ./o2dms:/o2dms
24       - ./o2common:/o2common
25       - ./tests:/tests
26     entrypoint:
27       - /bin/sh
28       - /o2ims/entrypoints/o2ims-redis-entry.sh
29
30   api:
31     image: o2imsdms-image
32     depends_on:
33       - redis_pubsub
34     environment:
35       - DB_HOST=postgres
36       - DB_PASSWORD=o2ims123
37       - API_HOST=api
38       - REDIS_HOST=redis
39       - PYTHONDONTWRITEBYTECODE=1
40       - FLASK_APP=/o2ims/entrypoints/flask_application.py
41       - FLASK_DEBUG=1
42       - PYTHONUNBUFFERED=1
43       - OS_AUTH_URL=${OS_AUTH_URL}
44       - OS_USERNAME=${OS_USERNAME}
45       - OS_PASSWORD=${OS_PASSWORD}
46     volumes:
47       - ./o2ims:/o2ims
48       - ./o2dms:/o2dms
49       - ./o2common:/o2common
50       - ./tests:/tests
51     entrypoint:
52       - flask
53       - run
54       - --host=0.0.0.0
55       - --port=80
56     ports:
57       - "5005:80"
58
59   watcher:
60     build:
61       context: .
62       dockerfile: Dockerfile.localtest
63     image: o2imsdms-image
64     depends_on:
65       - postgres
66       - redis
67     environment:
68       - DB_HOST=postgres
69       - DB_PASSWORD=o2ims123
70       - REDIS_HOST=redis
71       - PYTHONDONTWRITEBYTECODE=1
72       - OS_AUTH_URL=${OS_AUTH_URL}
73       - OS_USERNAME=${OS_USERNAME}
74       - OS_PASSWORD=${OS_PASSWORD}
75     volumes:
76       - ./o2ims:/o2ims
77       - ./o2dms:/o2dms
78       - ./o2common:/o2common
79       - ./tests:/tests
80     entrypoint:
81       - /bin/sh
82       - /o2ims/entrypoints/o2ims-watcher-entry.sh
83
84   postgres:
85     image: postgres:9.6
86     environment:
87       - POSTGRES_USER=o2ims
88       - POSTGRES_PASSWORD=o2ims123
89     ports:
90       - "54321:5432"
91
92   redis:
93     image: redis:alpine
94     ports:
95       - "63791:6379"