Dockerfile
# VERSION: yxyj1919/bookstack_zh:v1.0.0
# 第一层镜像
FROM surnet/alpine-wkhtmltopdf:3.16.2-0.12.6-full as wkhtmltopdf
# 第二层镜像
FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.15
# set version label
ARG BUILD_DATE
ARG VERSION
ARG BOOKSTACK_RELEASE
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="homerr"
# package versions
ARG BOOKSTACK_RELEASE
RUN \
echo "**** install build packages ****" && \
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \
apk add --no-cache --virtual=build-dependencies \
composer && \
echo "**** install runtime packages ****" && \
apk add --no-cache \
curl \
fontconfig \
memcached \
netcat-openbsd \
php8-ctype \
php8-curl \
php8-dom \
php8-gd \
php8-ldap \
php8-mbstring \
php8-mysqlnd \
php8-openssl \
php8-pdo_mysql \
php8-pecl-memcached \
php8-phar \
php8-simplexml \
php8-tokenizer \
######## Install fonts packages, not bookstactr official ########
qt5-qtbase \
xvfb \
dbus \
tar \
ttf-freefont \
libstdc++ \
libx11 \
libxrender \
libxext \
libssl1.1 \
ca-certificates \
fontconfig \
freetype \
ttf-dejavu \
ttf-droid \
ttf-freefont \
ttf-liberation \
libgcc \
musl \
qt5-qtbase-x11 \
qt5-qtsvg \
ttf-freefont \
&& apk add --no-cache --virtual .build-deps \
msttcorefonts-installer \
\
# Install microsoft fonts
&& update-ms-fonts \
&& fc-cache -f \
######################################################################
echo "**** configure php-fpm to pass env vars ****" && \
sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php8/php-fpm.d/www.conf && \
grep -qxF 'clear_env = no' /etc/php8/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php8/php-fpm.d/www.conf && \
echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php8/php-fpm.conf && \
echo "**** fetch bookstack ****" && \
mkdir -p \
/app/www && \
if [ -z ${BOOKSTACK_RELEASE+x} ]; then \
BOOKSTACK_RELEASE=$(curl -sX GET "https://api.github.com/repos/bookstackapp/bookstack/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \
curl -o \
/tmp/bookstack.tar.gz -L \
"https://github.com/BookStackApp/BookStack/archive/${BOOKSTACK_RELEASE}.tar.gz" && \
tar xf \
/tmp/bookstack.tar.gz -C \
/app/www/ --strip-components=1 && \
echo "**** install composer dependencies ****" && \
composer install -d /app/www/ && \
echo @edge http://mirrors.ustc.edu.cn/alpine/edge/testing >> /etc/apk/repositories && \
apk add wqy-zenhei@edge && \
apk add wqy-zenhei --update-cache --repository http://mirrors.ustc.edu.cn/alpine/edge/testing --allow-untrusted && \
apk add --update font-adobe-100dpi ttf-dejavu fontconfig && \
echo "**** overlay-fs bug workaround ****" && \
mv /app/www /app/www-tmp && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/root/.composer \
/tmp/*
######## Copy wkhtmltopdf files from docker-wkhtmltopdf image ########
# 拷贝第一层镜像中编译好的工具到第二层镜像中
COPY --from=wkhtmltopdf /bin/wkhtmltopdf /bin/wkhtmltopdf
COPY --from=wkhtmltopdf /bin/wkhtmltoimage /bin/wkhtmltoimage
COPY --from=wkhtmltopdf /bin/libwkhtmltox* /bin/
######################################################################
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 80 443
VOLUME /config
docker-compose.yml
version: "2"
services:
bookstack:
image: yxyj1919/bookstack_zh:v1.0.0
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- DB_HOST=bookstack_db
- DB_USER=bookstack
- DB_PASS=bookstack123
- DB_DATABASE=bookstackapp
- APP_URL=http://192.168.100.178:1095
- APP_LANG=zh_CN
#- WKHTMLTOPDF=/usr/bin/wkhtmltopdf
volumes:
- /data/bookstack_zh/app:/config
ports:
- 1095:80
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=root
- TZ=Asia/Shanghai
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=bookstack123
volumes:
- /data/bookstack_zh/db:/config
restart: unless-stopped
操作方法: 启动APP后先关闭APP
docker build . -t yxyj1919/bookstack_zh:v1.0.0
docker compose up -d
docker compose down
编辑 .env文件
sudo vim /data/bookstack_zh/app/www/.env
如果域名不可访问修改为IP地址
APP_URL=http://192.168.100.178:1095
### 添加后面两行 ###
WKHTMLTOPDF=/bin/wkhtmltopdf
ALLOW_UNTRUSTED_SERVER_FETCHING=true
再重启APP
Content type
Image
Digest
sha256:0c50ad5bc…
Size
238.6 MB
Last updated
almost 4 years ago
docker pull yxyj1919/bookstack_zh:v1.0.0