forked from mwaaas/ussd_airflow
-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathdocker-compose.yml
138 lines (126 loc) · 3.08 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
version: '2'
services:
lb:
image: traefik:latest
command: --web --docker --docker.domain=docker.localhost --logLevel=DEBUG
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /dev/null:/traefik.toml
ports:
- "9000:80"
- "8081:80"
- "9001:8080"
nginx:
image: nginx
volumes:
- ./:/usr/share/nginx/html/
labels:
- "traefik.frontend.rule=PathPrefix:/static/"
- "traefik.backend=nginx"
- "traefik.port=80"
- "traefik.weight=5"
db:
image: postgres:9.5
environment:
- POSTGRES_DB=django-ussd-airflow
- POSTGRES_PASSWORD=django-ussd-airflow
ports:
- 5444:5432
labels:
- "traefik.enable=false"
rabbitmq:
image: rabbitmq:3.5.7-management
ports:
- 15680:15672
app:
build: .
depends_on:
- db
- rabbitmq
volumes:
- ./:/usr/src/app
- $HOME/.aws:/root/.aws
command: bash -c "./wait-for-it.sh -t 300 db:5432 && ./run.sh"
links:
- db
- rabbitmq
- dynamodb
environment:
- CELERY_BROKER_URL=amqp://guest:guest@rabbitmq//
- CODACY_PROJECT_TOKEN=7911468d4aa94f0f941148a355a953d0
- CODECOV_TOKEN=e8f2d8cb-b839-4496-a5fb-bff90dcebcdc
- 'DATABASE_URL=postgres://postgres:django-ussd-airflow@db:5432/django-ussd-airflow'
- TEST_VARIABLE=variable_test
- ENVIRONMENT=sample_variable_two
- DYNAMODB_TABLE=journeyTable
- "AWS_DEFAULT_REGION=eu-west-1"
labels:
- "traefik.frontend.rule=PathPrefix:/"
- "traefik.backend=web"
- "traefik.port=80"
- "traefik.weight=3"
ports:
- 8007:80
editor:
image: mwaaas/ussd_airflow_editor
ports:
- 8009:80
worker:
build: .
depends_on:
- db
- rabbitmq
command: ./worker_server.sh
volumes:
- ./:/usr/src/app
links:
- db
- rabbitmq
environment:
- C_FORCE_ROOT=true
- CELERY_BROKER_URL=amqp://guest:guest@rabbitmq//
- DYNAMODB_TABLE=journeyTable
labels:
- "traefik.enable=false"
compile_documentation:
build: .
volumes:
- ./:/usr/src/app
command: make -C /usr/src/app/docs html
labels:
- "traefik.enable=false"
documentation:
image: python:3.3.6-alpine
depends_on:
- compile_documentation
working_dir: /usr/src/app/docs/_build/html
volumes:
- ./docs/_build/html:/usr/src/app/docs/_build/html
command: python -m http.server
ports:
- 7000:8000
labels:
- "traefik.enable=false"
dynamodb:
image: amazon/dynamodb-local:1.11.477
command: -jar DynamoDBLocal.jar -inMemory -sharedDb
environment:
- "AWS_DEFAULT_REGION=eu-west-1"
ports:
- 8781:8000
dynamodb-ui:
image: aaronshaf/dynamodb-admin:latest
depends_on:
- dynamodb
environment:
- "AWS_DEFAULT_REGION=eu-west-1"
- DYNAMO_ENDPOINT=http://dynamodb:8000
ports:
- 8001:8001
ansible:
image: mwaaas/ansible_playbook:2.4.1.0-1.3.4
depends_on:
- dynamodb
volumes:
- $HOME/.aws:/root/.aws
- ./:/usr/src/app