BookStack
本網站系統的架設、設定與管理教學。
BookStack: https://www.bookstackapp.com/
BookStack Installation
With Docker
Tutorial:
docker-compose.yml:
version: "2"
services:
bookstack:
image: linuxserver/bookstack
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- DB_HOST=bookstack_db
- DB_USER=<db-user>
- DB_PASS=<db-pass>
- DB_DATABASE=bookstackapp
volumes:
- ./config:/config
ports:
- 6875:80
- 443:443
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: linuxserver/mariadb
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=<db-pass-root>
- TZ=Asia/Taipei
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=<db-user>
- MYSQL_PASSWORD=<db-pass>
volumes:
- ./config:/config
restart: unless-stopped
初始化容器及啟動服務
mkdir config
docker-comose up -d
docker-compose ps
服務啟動與停止
docker-compose start
docker-compose stop
移除容器
docker-compose down
With CentOS 7
Reference
建立新的自我簽署的憑證檔
產生新的憑證檔
- new-cert.key
- new-cert.crt
cd /dir/to/your/cert
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout new-cert.key \
-out new-cert.crt
chown 1000.1000 new-cert.*
修改 Nginx 設定
cd /path/to/nginx
vi site-confs/default
ssl_certificate /config/keys/new-cert.crt;
ssl_certificate_key /config/keys/new-cert.key;
檢查憑證檔的內容
openssl x509 -in cert.crt -noout -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
24:85:b0:74:34:91:da:d3:cf:c4:16:9d:50:19:75:5a:c4:b5:9d:9b
Signature Algorithm: sha256WithRSAEncryption
Issuer: C = US, ST = CA, L = Carlsbad, O = Linuxserver.io, OU = LSIO Server, CN = *
Validity
Not Before: May 24 11:23:44 2020 GMT
Not After : May 22 11:23:44 2030 GMT
Subject: C = US, ST = CA, L = Carlsbad, O = Linuxserver.io, OU = LSIO Server, CN = *
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:bd:3b:5c:10:cc:e3:0e:69:d6:2a:b8:46:25:1e:
6b:30:2d:a9:9a:39:a2:5d:5a:f6:42:70:15:ad:f7:
68:3c:82:f3:4a:3d:40:70:cf:54:e1:36:c1:f0:e0:
...
檔案上傳
Storage Options
編輯 .env
STORAGE_TYPE=local_secure
其他不同類型的儲存方式
- local
- s3
Changing Upload Limits
PHP
post_max_size = 20M
upload_max_filesize = 20M
Nginx
如果使用官方教學的 Docker 方式安裝,不需要再設定 Nginx。
http {
#...
client_max_body_size 100m;
client_body_timeout 120s; # Default is 60, May need to be increased for very large uploads
#...
}
Cloudflare (optional)
如果有用 Cloudflare 作為 Reverse Proxy,還需要檢查 Cloudflare 的設定
Your-Domain > Network > Maximum Upload Size
Learning
中文網站
Tutorials
- [Youtube] Power User Features in BookStack
Q & A
Timezone 顯示不正確
網頁預設會以系統時區的時間顯示,假使系統設定 UTC 時區,如何讓網頁的時間顯示為時區 Asia/Taipei?
解決方法: 編輯 .env
# Application timezone
# Used where dates are displayed such as on exported content.
# Valid timezone values can be found here: https://www.php.net/manual/en/timezones.php
APP_TIMEZONE=Asia/Taipei
重啟網頁服務。
Bookstack Upgrade
With Docker
- Old: 22.02.3
- New: 22.07.3
Shutdown the container
cd <Bookstack-directory>
docker compose down
Backup the data volume
cd <Bookstack-directory>
cp -a config{,.22.02.3.bak}
Pull the new version of Bookstack
docker pull linuxserver/bookstack:22.07.3
Edit the docker-compose.yml
: 修改版號在這行 image: linuxserver/bookstack:22.07.3
version: "2"
services:
bookstack:
image: linuxserver/bookstack:22.07.3
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- APP_URL=https://osslab.tw
...
...
Start the container
docker compose up -d