QNAP Container部署BookstackApp
近日想在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
MYSQL_ROOT_PASSWORD:数据库root密码;
MYSQL_DATABASE/MYSQL_USER/MYSQL_PASSWORD:为bookstack创建一个数据库,并为此创建一个数据库用户和数据库密码;
/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
--link:链接其他容器。mariadb是你上面数据库容器的name,“:”后是源容器在当前容器中的别名,可以随意设置;
APP_URL:应用的完整URL,包括http(s)://IP(域名):6875,6875为下方映射的主机端口,如果映射的是80或443则可以不写;
DB_HOST:上面创建的数据库容器的name;
DB_USER/DB_PASS/DB_DATABASE:上面创建的数据库用户、密码和数据库名;
6875是映射到的主机端口,可以自行修改,如果站点使用ssl,则可以修改成-p 6875:443;
/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发布,如需转载请注明出处。