forked from chaskiq/chaskiq
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
134 lines (123 loc) · 2.83 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
version: '2.4'
x-app: &app
build:
context: .
dockerfile: ./Dockerfile.development
args:
RUBY_VERSION: '2.7.2'
PG_MAJOR: '11'
NODE_MAJOR: '12'
YARN_VERSION: '1.13.0'
BUNDLER_VERSION: '2.0.2'
environment: &env
NODE_ENV: development
RAILS_ENV: ${RAILS_ENV:-development}
ANYCABLE_DEBUG: ${DEBUG:-0}
ANYCABLE_RPC_HOST: 0.0.0.0:50051
image: chaskiq/chaskiq:1.1.0
tmpfs:
- /tmp
x-backend: &backend
<<: *app
stdin_open: true
tty: true
volumes:
- .:/app:cached
- rails_cache:/app/tmp/cache
- bundle:/usr/local/bundle
- node_modules:/app/node_modules
- packs:/app/public/packs
- .dockerdev/.psqlrc:/root/.psqlrc:ro
- .dockerdev/.bashrc:/root/.bashrc:ro
environment:
<<: *env
REDIS_URL: redis://redis:6379/
DATABASE_URL: postgres://postgres:password@postgres:5432
BOOTSNAP_CACHE_DIR: /usr/local/bundle/_bootsnap
WEBPACKER_DEV_SERVER_HOST: webpacker
DATABASE_CLEANER_ALLOW_REMOTE_DATABASE_URL: 1
WEB_CONCURRENCY: 1
HISTFILE: /app/log/.bash_history
PSQL_HISTFILE: /app/log/.psql_history
EDITOR: vi
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
services:
runner:
<<: *backend
command: /bin/bash
rpc:
<<: *backend
command: bundle exec anycable
anycable:
image: 'anycable/anycable-go:1.0-alpine'
ports:
- "8080:8080"
environment:
PORT: 8080
ANYCABLE_HOST: 0.0.0.0
ANYCABLE_HEADERS: cookie,origin
REDIS_URL: redis://redis:6379/0
ANYCABLE_RPC_HOST: rpc:50051
ANYCABLE_DEBUG: ${DEBUG:-0}
depends_on:
- redis
- rpc
rails:
<<: *backend
command: bundle exec rails server -b 0.0.0.0
ports:
- '3000:3000'
sidekiq:
<<: *backend
command: bundle exec sidekiq -C config/sidekiq.yml
postgres:
image: postgres
volumes:
- .dockerdev/.psqlrc:/root/.psqlrc:ro
- ./tmp/db:/var/lib/postgresql/data
- ./log:/root/log:cached
environment:
#POSTGRES_USER: postgresql
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
PSQL_HISTFILE: /root/log/.psql_history
ports:
- 5432
healthcheck:
test: pg_isready -U postgres -h 127.0.0.1
interval: 5s
redis:
image: redis:5-alpine
volumes:
- redis:/data
ports:
- 6379
healthcheck:
test: redis-cli ping
interval: 1s
timeout: 3s
retries: 30
webpacker:
<<: *app
command: ./bin/webpack-dev-server
ports:
- '3036:3036'
volumes:
- .:/app:cached
- bundle:/usr/local/bundle
- node_modules:/app/node_modules
- packs:/app/public/packs
environment:
<<: *env
WEBPACKER_DEV_SERVER_HOST: 0.0.0.0
volumes:
postgres:
redis:
bundle:
node_modules:
rails_cache:
packs: