-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
149 lines (138 loc) · 4.12 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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
version: "3.3"
## Tutorials:
## See: Setup: https://restheart.org/learn/setup/
## See: Tutorial: https://restheart.org/learn/tutorial/
##
## Go :
## http://localhost:8080/browser
## http://<IP>:8080/browser
##
## Insert the default admin credentials, which are:
## username: admin
## password: changeit
### Creates a named network with the default bridge driver
# The network is shared between restheart and mongodb only
# See: https://docs.docker.com/engine/userguide/networking/dockernetworks/
# See: https://docs.docker.com/engine/reference/commandline/network_create/
networks:
restheart-backend:
swagger_link:
# external: true
### Create a permanent, named data volume
# This makes much easier to identify where the mongodb data is stored on host
# See: https://docs.docker.com/engine/userguide/containers/dockervolumes/#mount-a-shared-storage-volume-as-a-data-volume
volumes:
restheart-data-db:
services:
restheart-docker:
image: softinstigate/restheart
container_name: restheart-docker
depends_on:
- mongodb
networks:
- restheart-backend
ports:
- "38080:8080"
## -- Uncoment below if you want to mount a local configuration folder
## -- to overwrite default restheart.yml and/or security.yml
volumes:
- ./etc:/opt/restheart/etc:ro
mongodb:
image: mongo:latest
container_name: restheart-mongodb
command: --bind_ip_all --auth
# command: --bind_ip_all --auth --smallfiles
restart: always
environment:
# Be sure this credentials match with those in etc/restheart.yml
# $ mongo --username restheart --password R3ste4rt! --authenticationDatabase admin
# These aren't needed if connecting to an existing database instance
MONGO_INITDB_ROOT_USERNAME: restheart
MONGO_INITDB_ROOT_PASSWORD: R3ste4rt!
volumes:
- restheart-data-db:/data/db
## -- Uncoment below if you want to map mongodb port
ports:
- "37017:27017"
mongo-compass-docker:
image: openkbs/mongo-gui-docker
command: /usr/bin/mongodb-compass
build:
context: ./
dockerfile: Dockerfile
args:
buildno: 1
container_name: mongo-compass-docker
environment:
- USER_ID=${USER_ID:-1000}
- GROUP_ID=${GROUP_ID:-1000}
# env_file:
# - ./docker-compose.env
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- ./workspace:/home/developer/workspace
depends_on:
- mongodb
swagger-editor:
image: swaggerapi/swagger-editor
container_name: "swagger-editor"
ports:
- "38081:8080"
networks:
swagger_link:
aliases:
- local.swagger.editor
swagger-ui:
image: swaggerapi/swagger-ui
container_name: "swagger-ui"
ports:
- "38082:8080"
volumes:
- ./swagger/openapi.json:/openapi.json
environment:
SWAGGER_JSON: /openapi.json
API_URL: "http://generator.swagger.io/api/swagger.json"
networks:
swagger_link:
aliases:
- local.swagger.ui
swagger-api:
image: danielgtaylor/apisprout
container_name: "swagger-api"
ports:
- "38083:8000"
volumes:
- ./swagger/openapi.json:/openapi.json
command: /openapi.json
networks:
swagger_link:
aliases:
- local.swagger.apisprout
swagger-nginx:
image: nginx:mainline-alpine
container_name: "swagger-nginx"
ports:
- "38084:8084"
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
networks:
swagger_link:
aliases:
- local.swagger.api
swagger-validator:
image: swaggerapi/swagger-validator
container_name: "swagger-validator"
ports:
- "38085:8080"
volumes:
- ./swagger/openapi.json:/openapi.json
environment:
SWAGGER_JSON: /openapi.json
## -- Note if you configure the SWAGGER_BASE_PATH, this path will change.
## -- For example, /validator will be accessible at http://localhost/validator?url=...
SWAGGER_BASE_PATH: /validator
API_URL: "http://generator.swagger.io/api/swagger.json"
networks:
swagger_link:
aliases:
- local.swagger.validator