forked from pypi/warehouse
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
108 lines (98 loc) · 2.96 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
version: '3'
services:
db:
image: postgres:10.1
ports:
# 5432 may already in use by another PostgreSQL on host
- "5433:5432"
redis:
image: redis:latest
rabbitmq:
image: rabbitmq:latest
elasticsearch:
image: elasticsearch:5
camo:
image: pypa/warehouse-camo:latest
ports:
- "9000:9000"
environment:
CAMO_KEY: "insecure camo key"
web:
build:
context: .
args:
DEVEL: "yes"
IPYTHON: "no"
# Uncomment the line below and add the private repo URL if you're
# working on pypi-theme, this is a private repository due to the fact
# that other people's IP is contained in it.
#THEME_REPO:
command: hupper -m twisted --log-format text web -p tcp:port=8000 --wsgi warehouse.wsgi.application
env_file: dev/environment
volumes:
# We specify all of these directories instead of just . because we want to
# avoid having ./node_modules from the host OS being shared with the docker
# container, and since there's no way to exclude a directory, the only way
# to make this work is to share multiple, smaller directories. These cover
# the important things that we want to share, but changes to requirements
# or any file not in these directories will require a rebuild.
# The :z option fixes permission issues with SELinux by setting a
# permissive security context.
- ./dev:/opt/warehouse/src/dev:z
- ./docs:/opt/warehouse/src/docs:z
- ./warehouse:/opt/warehouse/src/warehouse:z
- ./tests:/opt/warehouse/src/tests:z
- ./htmlcov:/opt/warehouse/src/htmlcov:z
- .coveragerc:/opt/warehouse/src/.coveragerc:z
ports:
- "80:8000"
links:
- db
- redis
- rabbitmq
- elasticsearch
- notdatadog
worker:
build:
context: .
args:
DEVEL: "yes"
command: hupper -m celery -A warehouse worker -B -S redbeat.RedBeatScheduler -l info
volumes:
- ./warehouse:/opt/warehouse/src/warehouse:z
env_file: dev/environment
environment:
C_FORCE_ROOT: "1"
links:
- db
- redis
- rabbitmq
- elasticsearch
- smtp
- notdatadog
static:
build:
context: .
dockerfile: Dockerfile.static
command: bash -c "node --trace-warnings `which gulp` watch"
volumes:
- ./warehouse:/opt/warehouse/src/warehouse:z
- ./Gulpfile.babel.js:/opt/warehouse/src/Gulpfile.babel.js:z
- ./.babelrc:/opt/warehouse/src/.babelrc:z
- ./.sass-lint.yml:/opt/warehouse/src/.sass-lint.yml:z
smtp:
build:
context: .
command: python /opt/warehouse/dev/smtp.py 0.0.0.0:2525
ports:
- "2525:2525"
volumes:
- ./dev/smtp.py:/opt/warehouse/dev/smtp.py
notdatadog:
build:
context: .
command: python /opt/warehouse/dev/notdatadog.py 0.0.0.0:8125
ports:
- "8125:8125/udp"
volumes:
- ./dev/notdatadog.py:/opt/warehouse/dev/notdatadog.py