-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose-dev.yml
More file actions
98 lines (92 loc) · 2.35 KB
/
docker-compose-dev.yml
File metadata and controls
98 lines (92 loc) · 2.35 KB
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
#
# This is the dev version of the docker compose
# this is overlaid on the docket compose for dev environments
#
# NOTE:
# You will need to create volumes for the data to be persistent between runs
# docker volume create --name=labelr-pgdata
# docker volume create --name=labelr-redis-data
# docker volume create --name=labelr-node-modules
# docker volume create --name=labelr-mysqldata
#
# NOTE:
# start the docker containers:
# docker-compose -p labelr-dev -f docker-compose-dev.yml up
# build and start the docker containers:
# docker-compose -p labelr-dev -f docker-compose-dev.yml up --build
# build and start the docker containers and detach the processes:
# docker-compose -p labelr-dev -f docker-compose-dev.yml up --build -d
#
version: "3.7"
volumes:
labelr-pgdata:
external: true
labelr-node-modules:
external: true
labelr-mysqldata:
external: true
labelr-redis-data:
external: true
box: {} # used for the bundler, persistent store between runs
services:
redis:
image: redis:alpine
volumes:
- labelr-redis-data:/data
ports:
- "6379:6379"
# The database server - only needed for dev and test
# The Postgre DB
postgres:
image: postgres:12-alpine
env_file:
- .envrc
volumes:
- labelr-pgdata:/var/lib/postgresql/data
ports:
- "5432:5432"
# Used for a dummy local mail server to test mails without going to internet
mailcatcher:
image: schickling/mailcatcher
entrypoint: "mailcatcher -f --ip 0.0.0.0"
ports:
- 10025:1025
- 1080:1080
labelr:
command: /opt/labelr/script/start.sh
build:
context: .
dockerfile: Dockerfile-dev
env_file:
- .envrc
environment:
- DB_HOST=postgres
- RAILS_ENV=development
- NODE_ENV=development
- SMTP_SERVER=mailcatcher
- SMTP_PORT=1025
volumes:
- labelr-node-modules:/opt/labelr/node_modules
- .:/opt/labelr
- box:/var/bundler
- type: tmpfs
target: /opt/labelr/tmp
ports:
- "3000:3000"
- "5100:5100"
depends_on:
- postgres
links:
- postgres
- mailcatcher
- redis
mysql:
image: mysql:5.7
platform: linux/x86_64
env_file:
- .envrc
volumes:
- labelr-mysqldata:/var/lib/mysql
- ./etc/mysql/conf.d:/etc/mysql/conf.d
ports:
- "3306:3306"