-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.production.yml
71 lines (65 loc) · 2.56 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Docker-compose configuration for production
version: '2'
services:
django:
build:
context: .
dockerfile: Dockerfile-django.production
container_name: slack_clone_django
restart: unless-stopped
volumes:
- "./slack_clone/app/build:/app/app/build"
- "./slack_clone/app/webpack-stats.json:/app/app/webpack-stats.json"
- "/var/lib/docker-nginx/files/slack_clone/media:/files/media"
- "/var/lib/docker-nginx/files/slack_clone/assets:/files/assets"
- "/var/log/slack_clone:/var/log/slack_clone"
# For some reason the command also has to be specified here, otherwise the entrypoint+command combination won't
# work.
entrypoint: /usr/bin/wait-for-it.sh postgres:5432 -t 60 --
command: daphne -b 0.0.0.0 -p 80 slack_clone.asgi:channel_layer
depends_on:
- redis
- django_worker
external_links:
- postgres-9.5:postgres
django_worker:
build:
context: .
dockerfile: Dockerfile-django.production
container_name: slack_clone_django_worker
restart: unless-stopped
volumes:
- "./slack_clone/app/build:/app/app/build"
- "./slack_clone/app/webpack-stats.json:/app/app/webpack-stats.json"
- "/var/lib/docker-nginx/files/slack_clone/media:/files/media"
- "/var/lib/docker-nginx/files/slack_clone/assets:/files/assets"
- "/var/log/slack_clone:/var/log/slack_clone"
# For some reason the command also has to be specified here, otherwise the entrypoint+command combination won't
# work.
entrypoint: /usr/bin/wait-for-it.sh postgres:5432 -t 60 --
command: python manage.py runworker
depends_on:
- redis
external_links:
- postgres-9.5:postgres
node:
build:
context: .
dockerfile: Dockerfile-node
# Make this service no-op as we don't actually want it running but do want to use docker-compose file to define
# volumes etc.
restart: "no"
command: "true"
volumes:
- "./slack_clone/app:/app/app"
- "./slack_clone/static:/app/static:ro"
redis:
image: redis:3.2-alpine
restart: unless-stopped
volumes:
- "/var/lib/docker-slack_clone/redis:/data"
# NB: Network with this name must already exist on the server and be used by Nginx and Postgres.
networks:
default:
external:
name: private