-
Notifications
You must be signed in to change notification settings - Fork 4
/
docker-compose.yml
100 lines (93 loc) · 2.08 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
version: '2.4'
services:
app: &app
build:
context: .
dockerfile: ./Dockerfile
target: development
args:
RUBY_VERSION: '2.6'
NODE_MAJOR: '12'
BUNDLER_VERSION: '2.0.2'
YARN_VERSION: '1.19.1'
image: evil_chat-dev:1.0.0
volumes:
- .:/app:cached
tmpfs:
- /tmp
backend: &backend
<<: *app
stdin_open: true
tty: true
command: /bin/bash
volumes:
- .:/app:cached
# We store Rails cache and gems in volumes to get speed up on Docker for Mac
- rails_cache:/app/tmp/cache
- bundle:/bundle
environment:
HISTFILE: /app/log/.bash_history
MALLOC_ARENA_MAX: 2
WEB_CONCURRENCY: 1
EDITOR: vim
RAILS_ENV: ${RAILS_ENV:-development}
DATABASE_URL: postgres://postgres:postgres@postgres:5432
REDIS_URL: redis://redis:6379/
WEBPACKER_DEV_SERVER_HOST: webpacker
DISABLE_SPRING: 1
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
rails:
<<: *backend
command: bundle exec rails server -b 0.0.0.0
ports:
- '3000:3000'
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
webpacker:
condition: service_started
webpacker:
<<: *app
command: ./bin/webpack-dev-server
ports:
- '3035:3035'
volumes:
- .:/app:cached
- bundle:/bundle
environment:
NODE_ENV: development
RAILS_ENV: ${RAILS_ENV:-development}
WEBPACKER_DEV_SERVER_HOST: 0.0.0.0
postgres:
image: postgres:12
volumes:
- postgres:/var/lib/postgresql/data
- .docker/.psqlrc:/root/.psqlrc:ro
- ./log:/var/log/psql_history
ports:
- 5432
healthcheck:
test: pg_isready -U postgres -h 127.0.0.1
interval: 5s
redis:
image: redis:4
volumes:
- redis:/data
ports:
- 6379
healthcheck:
test: redis-cli ping
interval: 1s
timeout: 3s
retries: 30
volumes:
bundle:
postgres:
redis:
rails_cache: