-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdocker-compose.yml
133 lines (132 loc) · 3.57 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
version: "3.3"
services:
traefik:
image: traefik:latest # The official Traefik docker image
command: --api --docker # Enables the web UI and tells Træfik to listen to docker
ports:
- "80:80" # The HTTP port
- "8080:8080" # The Web UI (enabled by --api)
networks:
- bridge
volumes:
- //var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen to the Docker events
node:
build:
context: ./
dockerfile: ./Dockerfile
args:
- NODE_VERSION=latest
- PROJECT_PATH=./
- NODE_ENV=production
- YARN=false
labels:
- traefik.backend=rollout
- traefik.frontend.rule=Host:api.rollout
- traefik.docker.network=web
- traefik.port=80
container_name: rollout
working_dir: "/opt/app"
volumes:
- ./:/opt/app
entrypoint: run-nodock "node server.js"
command: "npx pm2 start ecosystem.config.js --no-daemon"
tty: true
user: node
environment:
- "REDIS_URL=redis://redis"
- "mongoURI: mongo/web-push"
- "privateKey: Lckqnvu2RrAKlG3uutce3o-kiI7HSc1LXsy5AdlryXQ"
- "publicKey: BLgFTwjElUH_Iz72TKDvmlsc-EcwziNP2X28BmN-znOXJhv35QybtfcN1HTh_eUlNffp12HkuruYpqtKNedN54s"
- "GCM_Key: BC9lXOplpZsPQwvVrxN_29_9nqkzzsn1YWWNPUmfgo5m0aaXKmeOZDzUSxWBwrNH3pEDscqEW3oo9U3aHarrfB8"
mongo:
# build: ./mongo
image: mongo
container_name: mongo
restart: always
labels:
- traefik.backend=mongo
- traefik.frontend.rule=Host:mongodb.rollout
- traefik.docker.network=web
- traefik.port=27017
environment:
- MONGO_INITDB_ROOT_USERNAME=kappy
- MONGO_INITDB_ROOT_PASSWORD=Kappy123*
expose:
- "27017"
ports:
- "27017-2019:27017-2019"
volumes:
- ./data/mongo/:/var/lib/mongodb
command: mongod --noauth --smallfiles
nginx:
build:
context: ./nginx
args:
- WEB_REVERSE_PROXY_PORT=5000
- WEB_SSL=false
- SELF_SIGNED=false
- NO_DEFAULT=false
container_name: nginx
volumes:
- ./data/logs/nginx/:/var/log/nginx
- ./certbot/certs/:/var/certs
labels:
- traefik.backend=nginx
- traefik.frontend.rule=Host:nginx.rollout
- traefik.docker.network=web
- traefik.port=80
ports:
- "80:80"
- "443:443"
tty: true
certbot:
build:
context: ./nodock/certbot
links:
# - apache
- nginx.rollout
container_name: certbot
volumes:
- ./certbot/letsencrypt/:/var/www/letsencrypt
- ./certbot/certs/:/var/certs
redis:
build:
context: ./nodock/redis
container_name: rollout-redis
labels:
- traefik.backend=redis
- traefik.frontend.rule=Host:redis.rollout
- traefik.docker.network=web
- traefik.port=6379
expose:
- "6379"
volumes:
- ./data/redis:/data
networks:
web:
driver: bridge
# apache:
# build:
# context: ./apache
# args:
# - WEB_REVERSE_PROXY_PORT=8000
# - WEB_SSL=false
# - SELF_SIGNED=false
# - NO_DEFAULT=false
# volumes:
# - ./data/logs/apache/:/usr/local/apache2/logs
# - ./certbot/certs/:/var/certs
# ports:
# - "80:80"
# - "443:443"
# tty: true
# rabbitmq:
# build:
# context: ./rabbitmq
# args:
# - MANAGEMENT=false
# - FEDERATION=false
# - RABBITMQ_DEFAULT_USER=guest
# - RABBITMQ_DEFAULT_PASS=guest
# expose:
# - "5672"