From e6df9fbc944af33f50339d0f82e82f6459cfcca8 Mon Sep 17 00:00:00 2001 From: T Date: Mon, 8 Oct 2018 19:04:42 +0200 Subject: [PATCH 1/9] Update README.md --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c5cf12d..949329f 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,12 @@ This image can be used to build books with the GitBook CLI. To run gitbook with the current directory mounted to `/docs`: - $ docker run -ti --rm -v `pwd`:/docs humangeo/gitbook + $ docker run -ti --rm -v `pwd`:/docs shrmrf/gitbook-docker ### Use Case #2: Building a PDF - $ docker run -ti --rm -v `pwd`:/docs humangeo/gitbook pdf + $ docker run -ti --rm -v `pwd`:/docs shrmrf/gitbook-docker pdf + +### Acknowledgements +This is just a blatant fork off of humangeo/gitbook-docker. Thanks humangeo :) From 3cbf3a6f6a492b2ce8d5705583c2a527dac74b70 Mon Sep 17 00:00:00 2001 From: T Date: Sat, 24 Nov 2018 13:56:11 +0100 Subject: [PATCH 2/9] solve the problem with gitbook not renering svg properly --- Dockerfile | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index d8fde74..a361625 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,21 @@ -FROM node:6-slim +FROM node:11 -ADD docker-provision.sh /tmp/ -RUN cd /tmp/ && sh docker-provision.sh +RUN apt update && apt install -y -qq wget curl libfontconfig libgl1-mesa-dev libxrender-dev libxcomposite-dev python sudo +RUN wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin +ENV VAGRANT_PASSWORD='$6$rounds=656000$OY1EmeRe9//dqf8D$KRUcAe5ezDDL4hDe7nCGdURxev0jnIpOAAtfFzhPdd9wmNouedwX7EMxUaF16yrxxOUgpQlrpHVsZkIokXDKv0' +ENV VAGRANT_USER='vagrant' +RUN useradd --create-home --user-group --password "${VAGRANT_PASSWORD}" "${VAGRANT_USER}" + +RUN mkdir -p /etc/sudoers.d/ && echo "${VAGRANT_USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/vagrant +RUN su vagrant -c ' \ + curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash \ + && export NVM_DIR="$HOME/.nvm" \ + && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" \ + && nvm install 11 && npm install gitbook-cli svgexport -g' + +# Todo... become user and install nvm +# install gitbook-cli svgexport and run gitbook install WORKDIR /docs # run GitBook when the container starts From bc4d7c2cab5ae543168f3e8779f4a019531d41a3 Mon Sep 17 00:00:00 2001 From: T Date: Sat, 24 Nov 2018 16:55:42 +0100 Subject: [PATCH 3/9] make more sane variable names --- Dockerfile | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index a361625..f089a5f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,14 @@ -FROM node:11 +FROM node:11.2 RUN apt update && apt install -y -qq wget curl libfontconfig libgl1-mesa-dev libxrender-dev libxcomposite-dev python sudo RUN wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin -ENV VAGRANT_PASSWORD='$6$rounds=656000$OY1EmeRe9//dqf8D$KRUcAe5ezDDL4hDe7nCGdURxev0jnIpOAAtfFzhPdd9wmNouedwX7EMxUaF16yrxxOUgpQlrpHVsZkIokXDKv0' -ENV VAGRANT_USER='vagrant' -RUN useradd --create-home --user-group --password "${VAGRANT_PASSWORD}" "${VAGRANT_USER}" +ENV USER_PASSWORD='$6$rounds=656000$OY1EmeRe9//dqf8D$KRUcAe5ezDDL4hDe7nCGdURxev0jnIpOAAtfFzhPdd9wmNouedwX7EMxUaF16yrxxOUgpQlrpHVsZkIokXDKv0' +ENV USER_NAME='gitbook' +RUN useradd --create-home --user-group --password "${USER_PASSWORD}" "${USER_NAME}" -RUN mkdir -p /etc/sudoers.d/ && echo "${VAGRANT_USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/vagrant -RUN su vagrant -c ' \ +RUN mkdir -p /etc/sudoers.d/ && echo "${USER_NAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/$USER_NAME +RUN su $USER_NAME -c ' \ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash \ && export NVM_DIR="$HOME/.nvm" \ && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" \ @@ -19,4 +19,4 @@ RUN su vagrant -c ' \ WORKDIR /docs # run GitBook when the container starts -ENTRYPOINT ["gitbook"] +ENTRYPOINT ["/home/gitbook/.nvm/versions/node/v11.2.0/bin/gitbook"] From ac7d566bdc319ed2a0797a5394c0f358069ed32a Mon Sep 17 00:00:00 2001 From: T Date: Sat, 24 Nov 2018 16:56:19 +0100 Subject: [PATCH 4/9] don't need docker-provision anymore --- docker-provision.sh | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100755 docker-provision.sh diff --git a/docker-provision.sh b/docker-provision.sh deleted file mode 100755 index 6633e73..0000000 --- a/docker-provision.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -eux -# docker-provision.sh --- Provisioning script for a Docker container w/GitBook. -GITBOOK_CLI_VERSION="2.3.0" - -# update Apt repositories -apt-get update - -# install dependencies -apt-get install -y --no-install-recommends git calibre - -# install GitBook CLI -npm install -g gitbook-cli@$GITBOOK_CLI_VERSION - -# install the latest version...gets installed in $HOME (i.e. /root) -gitbook fetch latest - -# add gitbook wrapper script -cat < /usr/local/bin/gitbookw -#!/bin/sh -eu -# gitbookw --- Wrapper for gitbook that autoinstalls plugins. - -gitbook install -gitbook \$@ -EOF -chmod +x /usr/local/bin/gitbookw - -# clean up (apt) -apt-get clean # remove packages that have been downloaded, installed, and no longer needed -apt-get autoclean # remove archived packages that can no longer be downloaded -apt-get autoremove - -# clean up (misc.) -rm -rf /var/lib/apt/lists/* /var/cache/apt/* /root/.npm /tmp/npm* - -# Add empty docs directory -mkdir -p /docs From 4ce95709b361bd0aa213b7074422545fd2191522 Mon Sep 17 00:00:00 2001 From: T Date: Sat, 24 Nov 2018 17:11:30 +0100 Subject: [PATCH 5/9] sanitization: password isn't needed --- Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f089a5f..4daab1a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,9 +3,8 @@ FROM node:11.2 RUN apt update && apt install -y -qq wget curl libfontconfig libgl1-mesa-dev libxrender-dev libxcomposite-dev python sudo RUN wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin -ENV USER_PASSWORD='$6$rounds=656000$OY1EmeRe9//dqf8D$KRUcAe5ezDDL4hDe7nCGdURxev0jnIpOAAtfFzhPdd9wmNouedwX7EMxUaF16yrxxOUgpQlrpHVsZkIokXDKv0' ENV USER_NAME='gitbook' -RUN useradd --create-home --user-group --password "${USER_PASSWORD}" "${USER_NAME}" +RUN useradd --create-home --user-group --password "" "${USER_NAME}" RUN mkdir -p /etc/sudoers.d/ && echo "${USER_NAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/$USER_NAME RUN su $USER_NAME -c ' \ From f6466c3950b76576e3fb893e286cba5c5cf8ac05 Mon Sep 17 00:00:00 2001 From: T Date: Mon, 26 Nov 2018 13:25:21 +0100 Subject: [PATCH 6/9] Update Dockerfile simplified the container --- Dockerfile | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4daab1a..a064ca3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,10 @@ -FROM node:11.2 +FROM node:11.2 RUN apt update && apt install -y -qq wget curl libfontconfig libgl1-mesa-dev libxrender-dev libxcomposite-dev python sudo RUN wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin -ENV USER_NAME='gitbook' -RUN useradd --create-home --user-group --password "" "${USER_NAME}" - -RUN mkdir -p /etc/sudoers.d/ && echo "${USER_NAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/$USER_NAME -RUN su $USER_NAME -c ' \ - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash \ - && export NVM_DIR="$HOME/.nvm" \ - && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" \ - && nvm install 11 && npm install gitbook-cli svgexport -g' - -# Todo... become user and install nvm -# install gitbook-cli svgexport and run gitbook install +RUN npm install --unsafe-perm -g gitbook-cli svgexport WORKDIR /docs # run GitBook when the container starts -ENTRYPOINT ["/home/gitbook/.nvm/versions/node/v11.2.0/bin/gitbook"] +ENTRYPOINT ["gitbook"] From 35b7c4a8ff965ee3130f25a07c06dd4fb7153f0a Mon Sep 17 00:00:00 2001 From: T Date: Mon, 26 Nov 2018 14:46:51 +0100 Subject: [PATCH 7/9] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a064ca3..14b9251 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM node:11.2 RUN apt update && apt install -y -qq wget curl libfontconfig libgl1-mesa-dev libxrender-dev libxcomposite-dev python sudo RUN wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin -RUN npm install --unsafe-perm -g gitbook-cli svgexport +RUN npm install --unsafe-perm -g gitbook-cli@3.2.3 svgexport WORKDIR /docs # run GitBook when the container starts From e2445068188280f944b2e2959d6032fac46ac28f Mon Sep 17 00:00:00 2001 From: T Date: Mon, 26 Nov 2018 14:47:57 +0100 Subject: [PATCH 8/9] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 14b9251..9ee8705 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM node:11.2 RUN apt update && apt install -y -qq wget curl libfontconfig libgl1-mesa-dev libxrender-dev libxcomposite-dev python sudo RUN wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin -RUN npm install --unsafe-perm -g gitbook-cli@3.2.3 svgexport +RUN npm install --unsafe-perm -g gitbook-cli@2.3.2 svgexport WORKDIR /docs # run GitBook when the container starts From b1fccbfe8f5e9e054c9e42cd01c23ab882fcf8a5 Mon Sep 17 00:00:00 2001 From: T Date: Mon, 26 Nov 2018 15:43:33 +0100 Subject: [PATCH 9/9] cache gitbook install Fixes #3 --- Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 9ee8705..a3a0a4b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,13 @@ FROM node:11.2 -RUN apt update && apt install -y -qq wget curl libfontconfig libgl1-mesa-dev libxrender-dev libxcomposite-dev python sudo +RUN apt update && apt install -y -qq wget curl libfontconfig libgl1-mesa-dev libxrender-dev libxcomposite-dev python sudo \ + gconf-service libasound2 libatk1.0-0 libcairo2 libcups2 libfontconfig1 libgdk-pixbuf2.0-0 \ + libgtk-3-0 libnspr4 libpango-1.0-0 libxss1 fonts-liberation libappindicator3-1 libnss3 \ + lsb-release xdg-utils fonts-droid-fallback RUN wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin RUN npm install --unsafe-perm -g gitbook-cli@2.3.2 svgexport +RUN gitbook install WORKDIR /docs # run GitBook when the container starts