QNAP Container部署BookstackApp

Kem1年前 (2021-09-29)教程分享710

        近日想在qnap中使用docker部署Bookstack。首先尝试使用自带的SQL服务器作为数据库。但经过多次测试后发现自带的数据库版本太低(Mairadb5.5.57)导致数据库导入异常,无法登陆bookstack。 最后通过docker部署一台mairadb服务器作为数据库可以解决,具体步骤如下:

创建mairadb容器

docker run -d \
 --name=mariadb \
  -e MYSQL_ROOT_PASSWORD=<rootpassword>; \
  -e TZ=Asia/Shanghai \
  -e MYSQL_DATABASE=bookstack \
  -e MYSQL_USER=bookstack \
  -e MYSQL_PASSWORD=<password>; \
  -v /path/mariadb:/config \
  linuxserver/mariadb
  1. MYSQL_ROOT_PASSWORD:数据库root密码;

  2. MYSQL_DATABASE/MYSQL_USER/MYSQL_PASSWORD:为bookstack创建一个数据库,并为此创建一个数据库用户和数据库密码;

  3. /path/mariadb:在你的qnap中创建一个用于挂载的文件夹,我一般创建在/share/Container下,如:/share/Container/mariadb;

创建Bookstack

docker run -d \
    --name=bookstack \
    --link=mariadb:db \
    -e APP_URL= \
    -e DB_HOST=mariadb \
    -e DB_USER=bookstack \
    -e DB_PASS=<password> \
    -e DB_DATABASE=bookstack \
    -p 6875:80 \
    -v /path/bookstack:/config \
    linuxserver/bookstack
  1. --link:链接其他容器。mariadb是你上面数据库容器的name,“:”后是源容器在当前容器中的别名,可以随意设置;

  2. APP_URL:应用的完整URL,包括http(s)://IP(域名):6875,6875为下方映射的主机端口,如果映射的是80或443则可以不写;

  3. DB_HOST:上面创建的数据库容器的name;

  4. DB_USER/DB_PASS/DB_DATABASE:上面创建的数据库用户、密码和数据库名;

  5. 6875是映射到的主机端口,可以自行修改,如果站点使用ssl,则可以修改成-p 6875:443;

  6. /path/bookstack:同上;

如此,等几分钟后显示

[services.d] done.

说明应用创建成功,现在可以使用你设置的APP_URL访问BookStack了!

HTTPS访问

前提是你映射了容器的443端口。 访问你挂载的文件夹下的/www/keys/,将你的证书文件替换原有文件后重启容器即可。

提醒

如果创建失败需要重来,请先删除挂载目录下的文件。

2021/09/29补充

QTS5.0RC版已经去掉了自带的SQL服务器,取而代之的是需要手动从AppCenter安装MairaDB 5或 MairaDB 10 。

版权声明:本文由meihuati.com发布,如需转载请注明出处。

本文链接:https://www.meihuati.com/post/6.html

相关文章

CentOS7.6安装VNC Server

操作系统:CentOS 7.6 64位安装图形界面#列出的组列表里有GNOME Desktop yum grouplist #安装 yum groupinstall -y "GNOME Desktop" #修改默...

Windows更新出现0x8007042B-0x4001E报错

Windows更新出现0x8007042B-0x4001E报错

现象近期更新Win11 Dev版,不管是在线更新还是镜像安装,每次在更新快结束时失败,然后回滚,出现0x8007042B错误。 原因微软提供了排查方法:通过升级错误日志排查升级错误 根据C:\WINDOWS.~BT\Sources\Panther\setuperr.log 找到8007042B,往上...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。