forked from MechanicalRock/mechanicalrock-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
251 lines (251 loc) · 6.42 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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
version: "2.3"
services:
aws:
build:
context: aws-cli
dockerfile: Dockerfile
image: mechanicalrock/docker-aws-cli
entrypoint: aws
environment:
- AWS_DEFAULT_REGION
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_PROFILE
- AWS_SESSION_TOKEN
- AWS_SECURITY_TOKEN
volumes:
- ${PWD}:/app
- ~/.aws:/home/dev/.aws
- ~/.ssh:/home/dev/.ssh
aws2:
build:
context: aws-cli-v2
dockerfile: Dockerfile
image: mechanicalrock/docker-aws-cli-v2
entrypoint: aws
environment:
- AWS_DEFAULT_REGION
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_PROFILE
- AWS_SESSION_TOKEN
- AWS_SECURITY_TOKEN
volumes:
- ${PWD}:/app
- ~/.aws:/home/dev/.aws
- ~/.ssh:/home/dev/.ssh
sam:
build:
context: aws-sam
dockerfile: Dockerfile
image: mechanicalrock/docker-aws-sam
entrypoint: sam
environment:
- AWS_DEFAULT_REGION
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_PROFILE
- AWS_SESSION_TOKEN
- AWS_SECURITY_TOKEN
volumes:
- ${PWD}:/app
#- ~/.aws:/home/dev/.aws
#- ~/.ssh:/home/dev/.ssh
- ~/.aws:/root/.aws
- ~/.ssh:/root/.ssh
cfn-lint:
build:
context: cfn-lint
dockerfile: Dockerfile
image: mechanicalrock/docker-cfn-lint
entrypoint: cfn-lint
environment:
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_PROFILE
- AWS_SESSION_TOKEN
- AWS_SECURITY_TOKEN
volumes:
- ${PWD}:/app
- ~/.aws:/root/.aws
- ~/.ssh:/root/.ssh
npm:
build:
context: npm
dockerfile: Dockerfile
working_dir: /app
image: mechanicalrock/docker-npm:8.10
volumes:
- ${PWD}:/app
- ~/.aws/:/home/node/.aws
- ~/.ssh:/home/node/.ssh
- ~/.gitconfig:/home/node/.gitconfig
- ~/.gitconfig.local:/home/node/.gitconfig.local
- ~/.npmrc:/home/node/.npmrc
environment:
- AWS_DEFAULT_REGION
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_PROFILE
- AWS_SESSION_TOKEN
- AWS_SECURITY_TOKEN
- SNYK_TOKEN
ports:
- 3000:3000
npx:
build:
context: npm
dockerfile: Dockerfile
working_dir: /app
image: mechanicalrock/docker-npx:8.10
volumes:
- ${PWD}:/app
- ~/.aws/:/home/node/.aws
- ~/.ssh:/home/node/.ssh
- ~/.npmrc:/home/node/.npmrc
entrypoint:
- npx
entrypoint: npx
environment:
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_PROFILE
- AWS_SESSION_TOKEN
- AWS_SECURITY_TOKEN
- SNYK_TOKEN
psql:
image: postgres:9.6.7
environment:
- PG_USER
- PG_PASSWORD
network_mode: host
entrypoint:
- psql
- -h
- localhost
psql-osx:
image: postgres:9.6.7
environment:
- PG_USER
- PG_PASSWORD
entrypoint:
- psql
- -h
- host.docker.internal
mosh:
build:
context: mosh
dockerfile: Dockerfile
working_dir: /app
image: mechanicalrock/docker-mosh
volumes:
- ~/.ssh:/root/.ssh
vscode:
ipc: host
build:
context: vscode
dockerfile: Dockerfile
environment:
- DISPLAY=$DISPLAY
- USER=dev
- PATH=/home/dev/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- SNYK_TOKEN=$SNYK_TOKEN
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
# - .:/home/dev/data/projects
# - ~/.vscode:/vscode-data
- /home/tim/data/projects/personal/dotfiles/vscode/dot_config/Code.symlink:/home/dev/.config/Code
# Enable the use of Docker from within the container
- /var/run/docker.sock:/var/run/docker.sock
- ~/.ssh:/home/dev/.ssh
- ~/.gitconfig:/home/dev/.gitconfig
- ~/.gitconfig.local:/home/dev/.gitconfig.local
- ~/.aws:/home/dev/.aws
- ~/.npmrc:/home/dev/.npmrc
# Add GPG keyring for GitHub commit signing.
- ~/.gnupg:/home/dev/.gnupg
command:
- /home/dev/workspace
# Requires docker-compose v2.4
mem_limit: 2048m
user: "${CURRENT_UID}"
ports:
- "13000:3000"
vscode-nc:
build:
context: vscode-nc
dockerfile: Dockerfile
environment:
- DISPLAY=$DISPLAY
- USER=dev
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
#- .:/home/dev/workspace
#- ~/.vscode:/vscode-data
- ~/.nuget/:/home/dev/.nuget/
- /home/tim/data/projects/personal/dotfiles/vscode/dot_config/Code.symlink:/home/dev/.config/Code
# Enable the use of Docker from within the container
- /var/run/docker.sock:/var/run/docker.sock
command:
- /home/dev/workspace
slack:
build:
context: slack
dockerfile: Dockerfile
environment:
- DISPLAY=unix$DISPLAY
- USER=dev
# This requires version '2' of compose
# Was removed in verssion '3'
# Issue to re-add:
# see https://github.com/docker/cli/issues/1318
group_add:
# Run the container with the following additional groups to enable access to audio/video
- audio
- video
# Required - otherwise crash on login
ipc: "host"
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- /etc/localtime:/etc/localtime:ro
- ~/.config/Slack:/home/dev/.config/Slack
- ~/Downloads:/home/dev/Downloads
devices:
- /dev/snd
- /dev/dri
- /dev/video0
cfn-nag:
build:
context: cfn-nag
dockerfile: Dockerfile
working_dir: /app
image: mechanicalrock/docker-cfn_nag
volumes:
- ${PWD}:/app
gimp:
build:
context: gimp
dockerfile: Dockerfile
working_dir: /app
image: mechnicalrock/docker-gimp
environment:
- DISPLAY=unix$DISPLAY
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
chrome:
privileged: true
build:
context: chrome
dockerfile: Dockerfile
image: mechanicalrock/docker-chrome
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- /etc/localtime:/etc/localtime:ro
- ~/.config/Slack:/home/dev/.config/Slack
- ~/Downloads:/home/dev/Downloads
devices:
- /dev/snd
- /dev/dri
- /dev/video0
environment:
- DISPLAY=unix$DISPLAY