Skip to content

Commit 31d1fd4

Browse files
committed
[feat] Add Docker development environment
- Add Dockerfile for Jekyll 4.2.0 with LiveReload - Add docker-compose.yml with volume mounting for live file sync - Include Gemfile and Gemfile.lock for dependency management
1 parent 1f278ca commit 31d1fd4

File tree

4 files changed

+125
-0
lines changed

4 files changed

+125
-0
lines changed

Dockerfile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM jekyll/jekyll:4.2.0
2+
3+
WORKDIR /srv/jekyll
4+
5+
COPY Gemfile* ./
6+
RUN bundle install
7+
8+
COPY . .
9+
10+
EXPOSE 4000
11+
12+
CMD ["jekyll", "serve", "--host", "0.0.0.0", "--livereload"]

Gemfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
source "https://rubygems.org"
2+
3+
gem "jekyll", "~> 4.2.0"
4+
gem "minima", "~> 2.5"
5+
6+
group :jekyll_plugins do
7+
gem "jekyll-feed", "~> 0.12"
8+
gem "jekyll-seo-tag"
9+
end
10+
11+
platforms :mingw, :x64_mingw, :mswin, :jruby do
12+
gem "tzinfo", "~> 1.2"
13+
gem "tzinfo-data"
14+
end
15+
16+
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]

Gemfile.lock

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.8.0)
5+
public_suffix (>= 2.0.2, < 5.0)
6+
colorator (1.1.0)
7+
concurrent-ruby (1.1.9)
8+
em-websocket (0.5.2)
9+
eventmachine (>= 0.12.9)
10+
http_parser.rb (~> 0.6.0)
11+
eventmachine (1.2.7)
12+
ffi (1.15.3)
13+
forwardable-extended (2.6.0)
14+
http_parser.rb (0.6.0)
15+
i18n (1.8.10)
16+
concurrent-ruby (~> 1.0)
17+
jekyll (4.2.0)
18+
addressable (~> 2.4)
19+
colorator (~> 1.0)
20+
em-websocket (~> 0.5)
21+
i18n (~> 1.0)
22+
jekyll-sass-converter (~> 2.0)
23+
jekyll-watch (~> 2.0)
24+
kramdown (~> 2.3)
25+
kramdown-parser-gfm (~> 1.0)
26+
liquid (~> 4.0)
27+
mercenary (~> 0.4.0)
28+
pathutil (~> 0.9)
29+
rouge (~> 3.0)
30+
safe_yaml (~> 1.0)
31+
terminal-table (~> 2.0)
32+
jekyll-feed (0.15.1)
33+
jekyll (>= 3.7, < 5.0)
34+
jekyll-sass-converter (2.1.0)
35+
sassc (> 2.0.1, < 3.0)
36+
jekyll-seo-tag (2.7.1)
37+
jekyll (>= 3.8, < 5.0)
38+
jekyll-watch (2.2.1)
39+
listen (~> 3.0)
40+
kramdown (2.3.1)
41+
rexml
42+
kramdown-parser-gfm (1.1.0)
43+
kramdown (~> 2.0)
44+
liquid (4.0.3)
45+
listen (3.5.1)
46+
rb-fsevent (~> 0.10, >= 0.10.3)
47+
rb-inotify (~> 0.9, >= 0.9.10)
48+
mercenary (0.4.0)
49+
minima (2.5.1)
50+
jekyll (>= 3.5, < 5.0)
51+
jekyll-feed (~> 0.9)
52+
jekyll-seo-tag (~> 2.1)
53+
pathutil (0.16.2)
54+
forwardable-extended (~> 2.6)
55+
public_suffix (4.0.6)
56+
rb-fsevent (0.11.0)
57+
rb-inotify (0.10.1)
58+
ffi (~> 1.0)
59+
rexml (3.2.3)
60+
rouge (3.26.0)
61+
safe_yaml (1.0.5)
62+
sassc (2.4.0)
63+
ffi (~> 1.9)
64+
terminal-table (2.0.0)
65+
unicode-display_width (~> 1.1, >= 1.1.1)
66+
unicode-display_width (1.7.0)
67+
68+
PLATFORMS
69+
x86_64-linux-musl
70+
71+
DEPENDENCIES
72+
jekyll (~> 4.2.0)
73+
jekyll-feed (~> 0.12)
74+
jekyll-seo-tag
75+
minima (~> 2.5)
76+
tzinfo (~> 1.2)
77+
tzinfo-data
78+
wdm (~> 0.1.1)
79+
80+
BUNDLED WITH
81+
2.2.24

docker-compose.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
version: '3.8'
2+
3+
services:
4+
jekyll:
5+
image: jekyll/jekyll:4.2.0
6+
container_name: jekyll-dev
7+
ports:
8+
- "4000:4000"
9+
- "35729:35729" # LiveReload port
10+
volumes:
11+
- .:/srv/jekyll
12+
environment:
13+
- JEKYLL_ENV=development
14+
command: jekyll serve --host 0.0.0.0 --livereload --force_polling --incremental
15+
stdin_open: true
16+
tty: true

0 commit comments

Comments
 (0)