-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
92 lines (90 loc) · 2.34 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
# inspired by https://evilmartians.com/chronicles/ruby-on-whales-docker-for-ruby-rails-development
version: "3.4"
x-abstract-definitions:
# abstract anchors to be refernced later
volumes:
src: &src_volume .:/root:cached
node_modules: &node_modules_volume node_modules:/root/node_modules
node_service: &node_service
image: "node:12-alpine"
working_dir: "/root"
volumes:
- *src_volume
- *node_modules_volume
services:
jekyll:
image: jekyll/jekyll:3.8
volumes:
- .:/srv/jekyll:cached
- bundle:/usr/local/bundle
ports:
- "4000:4000"
- "35729:35729" # for livereload.js.
environment:
JEKYLL_ENV: production # to simulate gh-pages
command: ["jekyll", "serve", "--livereload"]
# none of the node services are connected to the browser. Jekyll's livereload
# reacts to changes in the filesystem already; adding more livereload
# listeners repeatedly reloads the page for a single change.
rollup_simple:
<<: *node_service
command: ["yarn", "run", "build:rollup:simple", "--watch"]
rollup_split:
<<: *node_service
command: ["yarn", "run", "build:rollup:split", "--watch"]
webpack_assets_manifest_simple:
<<: *node_service
command:
[
"yarn",
"run",
"webpack-dev-server",
"--config",
"examples/webpack/assets-manifest.simple.js",
"--mode",
"production",
]
webpack_assets_manifest_integrity:
<<: *node_service
command:
[
"yarn",
"run",
"webpack-dev-server",
"--config",
"examples/webpack/assets-manifest.integrity.js",
"--write-to-disk",
"--mode",
"production",
]
webpack_manifest_plugin_simple:
<<: *node_service
command:
[
"yarn",
"run",
"webpack-dev-server",
"--config",
"examples/webpack/manifest-plugin.config.js",
"--write-to-disk",
"--mode",
"production",
]
webpack_manifest_plugin_split:
<<: *node_service
command:
[
"yarn",
"run",
"webpack-dev-server",
"--config",
"examples/webpack/manifest-plugin.split.js",
"--write-to-disk",
"--mode",
"production",
]
# TODO: a parcel service
# TODO: a gulp service
volumes:
node_modules:
bundle: