-
-
Notifications
You must be signed in to change notification settings - Fork 37
/
docker-compose.yml
106 lines (105 loc) · 2.48 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
version: '3.9'
services:
db:
image: postgres:14
environment:
- POSTGRES_USER=postgres
- POSTGRES_DB=phoenix_development
- POSTGRES_PASSWORD=""
- POSTGRES_HOST_AUTH_METHOD=trust
container_name: db
hostname: db
ports:
- '5432:5432'
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres"]
interval: 1s
volumes:
# Will use db volume and inside to path /var/lib/mysql
- ./tmp/db/postgresql/data:/var/lib/postgresql/data
networks:
- dbs
elasticsearch:
image: hypothesis/elasticsearch:latest
ports:
- '9200:9200'
environment:
- discovery.type=single-node
networks:
- elasticsearch
volumes:
- es_data:/usr/share/elasticsearch/data
- es_logs:/usr/share/elasticsearch/logs
- es_config:/usr/share/elasticsearch/config
ota:
image: pondersource/tosdr-ota:1.3
ports:
- '127.0.0.1:4000:3000'
networks:
- dbs
environment:
- API_SECRET=foo
cap_add: [ SYS_ADMIN ]
web:
tty: true
stdin_open: true
build:
context: ./
dockerfile: Dockerfile
target: dev
ports:
- 9090:3000
depends_on:
- db
- elasticsearch
volumes:
- ./app:/usr/src/edit.tosdr.org/app/
- ./lib:/usr/src/edit.tosdr.org/lib/
- ./db:/usr/src/edit.tosdr.org/db/
- ./config:/usr/src/edit.tosdr.org/config/
- ./spec:/usr/src/edit.tosdr.org/spec/
networks:
- dbs
- elasticsearch
environment:
- RAILS_ENV=development
- DATABASE_HOST=db
- DATABASE_USER=postgres
- DATABASE_PASSWORD=""
- DATABASE_NAME=phoenix_development
- ELASTICSEARCH_URL=http://elasticsearch:9200
- H_ORIGIN=http://localhost:5000
- WEB_PORT=9090
- ELASTICSEARCH_HOST=elasticsearch
- AUTHORITY=localhost
- OTA_URL=
- OTA_API_SECRET=
adminer:
image: adminer
ports:
- 1337:8080
environment:
- RAILS_ENV=development
volumes:
# Create volume called web for persistent storage
web:
# Specify name so it does not append stack name
name: web
es_data:
driver: local
es_logs:
driver: local
es_config:
driver: local
networks:
dbs:
# Joins existing network of this name (it was created by db container)
external: true
# Specify name so that it does not append stack name
name: dbs
elasticsearch:
external: true
name: elasticsearch
engine:
external: true
name: engine