Created
May 16, 2024 19:14
-
-
Save sekika/a486fb7d07df30ff86e75c960051cfc1 to your computer and use it in GitHub Desktop.
for jekyll Docker
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
port = 5555 | |
url = http://localhost:$(port)/ | |
container = jekyll | |
image = $(container):1.0 | |
repo = /Users/seki/git/sekika.github.io | |
www = /jekyll | |
mount = --mount type=bind,source=$(repo),destination=$(www) | |
all: | |
cat Readme.md | |
open: | |
@ pgrep -fq 'Docker' || make open-yes | |
open-yes: | |
@ echo "Opening Docker Desktop" | |
@ open -a Docker | |
@ while ! docker system info > /dev/null 2>&1; do sleep 1; done | |
install: | |
@ docker images | grep -q $(container) || make install-yes | |
install-yes: | |
@ echo "Installing Docker image $(image)..." | |
@ docker build -t $(image) . | |
@ docker run --name $(container) --hostname $(container) -d $(mount) -p $(port):4000 $(image) | |
@ make wait-server | |
start: | |
@ make open | |
@ make install | |
@ docker ps | grep -q $(image) || make start-yes | |
start-yes: | |
@ docker start $(container) | |
@ make wait-server | |
wait-server: | |
@ echo "Waiting for server at $(url)..." | |
@ while ! curl -s $(url) > /dev/null; do sleep 1; done | |
@ echo "Server is up at $(url)" | |
stop: | |
@ docker ps -q --filter ancestor=$(image) | xargs -r docker stop | |
sh: | |
@ make start | |
@ docker exec -it -u jekyll $(container) /bin/sh | |
root: | |
@ make start | |
@ docker exec -it -u root $(container) /bin/sh | |
update: | |
@ docker exec -t -u root $(container) /bin/sh -c "apk update && apk --no-cache upgrade" | |
@ docker exec -t -u jekyll $(container) /bin/sh -c "cd $(www) && rm -f Gemfile.lock && bundle install && bundle update --bundler" | |
clean: | |
@ make stop | |
@ docker rm $(container) | |
@ docker rmi $(image) | |
reinstall: | |
@ make clean | |
@ make install |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment