diff --git a/.gitignore b/.gitignore index 5dc937a5e9fa82f3b59fe3ebcee18877e1f06c43..4db3c339c531b8bfba336ccecf534158b925a996 100644 --- a/.gitignore +++ b/.gitignore @@ -44,5 +44,4 @@ version_control node_modules dist output -virtualroot -docker \ No newline at end of file +virtualroot \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index 3507a186f2fd3e7be8cc78b1caeb4b430e34a966..a19191b512fe5f731ff06333ecea9e8b5c1ee3da 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,29 +1,31 @@ -FROM ubuntu:16.04 +FROM ubuntu:20.04 MAINTAINER "TruthHun " +#配置时区 +ENV TZ=Asia/Shanghai +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + # 安装依赖 -RUN apt update -y \ - && apt install -y locales \ +RUN apt-get update -y \ + && apt-get install -y locales \ && rm -rf /var/lib/apt/lists/* \ && localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \ - && apt update -y \ - && apt install -y fonts-wqy-zenhei fonts-wqy-microhei \ - && apt install -y xdg-utils wget xz-utils python chromium-browser \ + && apt-get update -y \ + && apt-get install -y fonts-wqy-zenhei fonts-wqy-microhei \ + && apt-get install -y xdg-utils wget xz-utils python chromium-browser \ && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin ENV LANG en_US.utf8 # 将程序拷贝进去 -COPY . /www/BookStack/ +COPY ./bookstack /www/BookStack/ -# 将程序拷贝进去 -COPY lib/time/zoneinfo.zip /usr/local/go/lib/time/ +# 复制时区文件 +COPY zoneinfo.zip /usr/local/go/lib/time/ RUN chmod 0777 -R /www/BookStack/ WORKDIR /www/BookStack/ -RUN ./BookStack install - -CMD [ "./BookStack" ] \ No newline at end of file +CMD [ "./run.sh" ] diff --git a/docker/Makefile b/docker/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..f00914ec534bc570538716657b1c030fbef622c5 --- /dev/null +++ b/docker/Makefile @@ -0,0 +1,20 @@ +all: docker + +BookStack.V2.8_Linux_amd64.zip: + wget -O BookStack.V2.8_Linux_amd64.zip https://github.com/TruthHun/BookStack/releases/download/v2.8/BookStack.V2.8_Linux_amd64.zip + +bookstack: BookStack.V2.8_Linux_amd64.zip + unzip -d bookstack BookStack.V2.8_Linux_amd64.zip + +bookstack/conf-example: bookstack + if [ ! -d "bookstack/conf-example" ]; then mv bookstack/conf bookstack/conf-example; fi + +bookstack/run.sh: + cp run.sh bookstack/run.sh + +docker: bookstack bookstack/conf-example bookstack/run.sh + docker build -t bookstack:v2.8 . + +clean: + rm -rf bookstack + rm BookStack.V2.8_Linux_amd64.zip diff --git a/docker/run.sh b/docker/run.sh new file mode 100644 index 0000000000000000000000000000000000000000..d4e6e1216bf6a3827825d2a46a729ad13412e899 --- /dev/null +++ b/docker/run.sh @@ -0,0 +1,24 @@ +#!/bin/sh +#初始化docker挂载后的config目录 +if [ ! -d "conf" ]; then + mkdir "conf" +fi + +if [ ! -f "conf/app.conf.example" -a ! -f "conf/app.conf" ]; then + cp conf-example/* conf +fi + +#可以安装/运行 +if [ -f "conf/app.conf" ]; then + if [ -f ".installed" ]; then + #开始运行 + ./BookStack + else + ./BookStack install + if [ $? -eq 0 ]; then + #安装成功 + echo "v2.8" > ".installed" + ./BookStack + fi + fi +fi diff --git a/docker/zoneinfo.zip b/docker/zoneinfo.zip new file mode 100644 index 0000000000000000000000000000000000000000..61c97ce0f01bc5d7716e31e4991cbdc6bfe8059b Binary files /dev/null and b/docker/zoneinfo.zip differ