文本是《Docker(共13篇)》專題的第 8 篇。閱讀本文前,建議先閱讀前面的文章:
在這個資訊爆炸的時代,你是否經常感到無所適從? 團隊文檔雜亂無章,個人筆記四處散落,重要信息總是找不到... 如果這些問題困擾著你,那麼 BookStack 可能就是你一直在尋找的解決方案。
簡介
BookStack:不只是另一個文檔系統
BookStack 是一個開源的知識管理平台,它將文檔組織得像一本書一樣直觀。 想像一下,如果維琪百科和你最愛的筆記 App 有個孩子,那大概就是 BookStack 了。
基於 PHP 和 Laravel 構建,BookStack 不僅功能強大,還特別注重用戶體驗。 無論你是技術大牛還是普通使用者,都能輕鬆駕馭。

為什麼選擇 BookStack?
- 結構清晰:採用“書籍 > 章節 > 頁面”的層級結構,讓內容組織一目了然。
- 編輯靈活:支援所見即所得和 Markdown 編輯器,滿足不同偏好。
- 許可權管理:細粒度的許可權控制,完美適配團隊協作需求。
- 搜索強大:全文搜索功能,讓你瞬間找到需要的資訊。
- 多語言支援:包括中文在內的多種語言介面,無障礙使用。
- 匯出方便:可以匯出html、markdown、txt和pdf格式。
- 開源免費:企業級功能,零成本使用。
安裝教學
Docker
BookStack 的部署非常簡單,特別是使用 Docker 的話。 下面我們詳細解釋如何通過 Docker 部署 BookStack,並對每個參數進行說明。
docker run -d \
--name=bookstack \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e APP_URL=http://your-domain.com \
-e APP_KEY=base64:C4MCxJYaoUMj6Rpn2cMmHyycBlU0hizsoDEbOO7w2LQ=
-e DB_HOST=bookstack_db \
-e DB_USER=bookstack \
-e DB_PASS=your_password \
-e DB_DATABASE=bookstack \
-p 6875:80 \
-v /path/to/data:/config \
--restart unless-stopped \
lscr.io/linuxserver/bookstack:latest
參數解釋:
--name=bookstack
:為容器指定一個名稱,方便管理。-e PUID=1000
和 :設置使用者和組ID,確保容器內外的許可權一致。-e PGID=1000
-e APP_URL=http://your-domain.com
:設置 BookStack 的存取 URL,請替換為你的實際功能變數名稱。-e APP_KEY=base64:C4MCxJYaoUMj6Rpn2cMmHyycBlU0hizsoDEbOO7w2LQ=
:設置 BookStack 會話加密金鑰,使用可以生成一個。ocker run -it --rm --entrypoint /bin/bash linuxserver/bookstack:latest appkey
TZ=Asia/Shanghai
:指定時區,中國的就用這個即可。-e DB_HOST=bookstack_db
:資料庫主機名,如果使用外部資料庫,請相應修改。-e DB_USERNAME=bookstack
:資料庫使用者名。-e DB_PASSWORD=your_password
:資料庫密碼,請使用強密碼替換。-e DB_DATABASE=bookstack
:資料庫名稱。-p 6875:80
:埠映射,將容器的80埠映射到主機的6875埠。-v /path/to/data:/config
:數據捲掛載,確保數據持久化,請替換為你的實際路徑。--restart unless-stopped
:容器自動重啟策略。
Docker Compose
建立一個 docker-compose.yml
檔,內容如下:
version: "2"
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
environment:
- PUID=501
- PGID=20
- TZ=Asia/Shanghai
- APP_URL=http://localhost:6875
- APP_KEY=base64:C4MCxJYaoUMj6Rpn2cMmHyycBlU0hizsoDEbOO7w2LQ=
- DB_HOST=172.17.0.1
- DB_PORT=3306
- DB_USERNAME=root
- DB_PASSWORD=123456
- DB_DATABASE=bookstack
volumes:
- /path/to/data:/config
ports:
- 6875:80
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: lscr.io/linuxserver/mariadb:latest
container_name: bookstack_db
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=your_root_password
- TZ=Europe/London
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=your_password
volumes:
- /path/to/database:/config
restart: unless-stopped
docker-compose.yml
這個檔定義了兩個服務:bookstack 和 bookstack_db。 參數含義與單獨運行 Docker 命令時相同,但這裡我們同時部署了一個 MariaDB 資料庫容器。
執行以下命令啟動服務:
docker-compose up -d
這個命令會在後台啟動 BookStack 和其資料庫,並自動開始初始化數據表。
使用教學
成功部署后,訪問 http://your-domain.com:6875
(替換為你的實際功能變數名稱和埠)就可以開始使用 BookStack 了,使用預設的帳號 [email protected]
和密碼 password
登錄。

以下是一些基本使用步驟:
- 設置中文
點擊右上角的頭像,找到“My Account > Profile Details”,然後在Preferred Language中選擇中文即可。

2. 創建你的第一本“書”:
點擊“圖書 > 立即創建”,給你的第一本書起個名字。

3. 組織內容:
按照「書籍 > 章節 > 頁面」的結構組織你的內容。

4. 編寫和格式化:
使用所見即所得編輯器或 Markdown 編輯器建立內容。

5. 協作與分享:
邀請團隊成員,設置許可權,開始協作。

6. 搜索和標籤:
使用強大的搜尋功能和標籤系統快速找到資訊。

進階技巧
- 使用範本:為常用文件類型創建範本,提高效率。
- 版本控制:利用 BookStack 的版本歷史功能,輕鬆回溯修改。
- API 集成:使用 BookStack 的 API 將其與其他工具整合。
總結
BookStack 不僅僅是一個文檔系統,它是一個全方位的知識管理解決方案。 通過 Docker 的簡單部署,你可以快速搭建起自己的知識庫,讓團隊協作更加順暢,個人學習更加高效。
現在,你已經瞭解了如何部署和使用 BookStack。 為什麼不立即動手,創建你的第一本「書」呢? 相信我,當你開始使用 BookStack,你會驚訝於自己生產力的提升。
您已閱讀完《Docker(共13篇)》專題的第 8 篇。請繼續閱讀該專題下面的文章:
文章標題:BookStack:一款功能強大的免費知識庫管理平台
本文鏈接:https://angelal.cc/1937.html
文章版權:除非特別註明,否則均為AngelaL的原創文章,轉載必須以鏈接形式標明本文鏈接
本文最後更新發佈於:2025年03月10日 22:38, 某些文章具有時效性,若有錯誤或已失效,請在下方留言。