forked from mozilla-services/tecken
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
156 lines (143 loc) · 3.06 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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
---
version: '2.4'
services:
# Base container is used for development tasks like tests, linting,
# and building docs.
base:
build:
context: .
dockerfile: docker/Dockerfile
args:
- FRONTEND_SENTRY_PUBLIC_DSN
platform: linux/amd64
image: tecken:build
environment:
- DJANGO_CONFIGURATION
env_file:
- docker/config/local_dev.env
- .env
# Web container is a prod-like fully-functioning container.
web:
extends:
service: base
depends_on:
- db
- redis-store
- redis-cache
ports:
- "8000:8000"
links:
- db
- redis-store
- redis-cache
- minio
- oidcprovider
- statsd
volumes:
- $PWD:/app
command: ["web", "--dev"]
# Symbolicator service
eliot:
extends:
service: base
ports:
- "8050:8000"
depends_on:
- statsd
links:
- statsd
volumes:
- $PWD:/app
command: ["eliot"]
# Container specifically for running tests.
test:
extends:
service: base
env_file:
- docker/config/local_dev.env
- docker/config/test.env
links:
- db
- redis-store
- redis-cache
volumes:
- $PWD:/app
test-ci:
extends:
service: base
env_file:
- docker/config/local_dev.env
- docker/config/test.env
links:
- db
- redis-store
- redis-cache
# Web container is a prod-like fully-functioning container.
gunicorn:
extends:
service: base
ports:
- "8000:8000"
links:
- db
- redis-store
- redis-cache
command: web
frontend:
build:
context: .
dockerfile: frontend/Dockerfile
environment:
- NODE_ENV=development
ports:
- "3000:3000"
- "35729:35729"
volumes:
- $PWD/frontend:/app
command: start
# Same as 'frontend' but no volumes or command
frontend-ci:
build:
context: .
dockerfile: frontend/Dockerfile
# https://hub.docker.com/_/postgres/
db:
image: postgres:12.7
environment:
# Create the superuser account
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=tecken
# https://hub.docker.com/_/redis
redis-store:
build: ./docker/images/redis
redis-cache:
image: redis:3.2
# https://hub.docker.com/r/minio/minio
minio:
image: minio/minio:latest
environment:
- MINIO_ACCESS_KEY=minio
- MINIO_SECRET_KEY=miniostorage
ports:
- "9000:9000"
# NOTE(willkg): uncomment these if you need to see minio data
# volumes:
# - $PWD/miniodata:/export
command: server /export
# https://hub.docker.com/r/mozilla/oidc-testprovider
oidcprovider:
build:
context: docker/images/oidcprovider
image: local/tecken_oidcprovider
ports:
- "8081:8080"
# https://hub.docker.com/r/hopsoft/graphite-statsd/
statsd:
image: hopsoft/graphite-statsd:latest
ports:
- "8080:80"
- "2003-2004:2003-2004"
- "2023-2024:2023-2024"
- "8125:8125/udp"
- "8126:8126"