logo头像

You name it , I got it !

Bookstack Docker

Bookstack 是一套非常好用的線上”筆記”系統

他用圖書館/書本的概念,讓使用者可以建立自己的”圖書館”

同時在圖書館內建立不同的”書籍”

而且支援 Markdown 語法

其他的方式像是在nextcloud上編輯 md檔案(字體太小)

或者是boostnote(只能在本機)

都或多或少有點小缺點

Bookstack則是沒有這些問題,不過就是系統「大」了點…

不過還好有人做成docker的方式來啟動,大大的降低了建置的難度(其實也沒有很難啦,只是要裝個PHP、弄個DB而已)

這個是專案的名稱

solidnerd/docker-bookstack

gihub上的連結

https://github.com/solidnerd/docker-bookstack

因為都轉成docker了,所以安裝很簡單
先git clone回來

1
git clone https://github.com/solidnerd/docker-bookstack

然後依照他的說明,建立一個docker-compose.yml檔案,再視情況修改

底下是我的docker-compose.yml內容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
version: '2'                                                                                                                                         
services:
mysql:
image: mysql:5.7.21
environment:
- MYSQL_ROOT_PASSWORD=secret
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=secret
volumes:
- mysql-data:/var/lib/mysql

bookstack:
image: solidnerd/bookstack:0.24.1
depends_on:
- mysql
environment:
- DB_HOST=mysql:3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- DB_PASSWORD=secret
volumes:
- uploads:/var/www/bookstack/public/uploads
- storage-uploads:/var/www/bookstack/public/storage
ports:
- "0.0.0.0:8003:80"

volumes:
mysql-data:
uploads:
storage-uploads:

原則上我沒有修改什麼設定,先確認一下現在的bookstack版本 0.24.1 是目前最新的了

然後把 port 改成8003 ,避免去強碰 80 port

如果前面搭配 caddy 之類的反向代理,那不用去記 port 也沒關係。

好了之後,就執行 docker-compose up -d

然後 docker ps -a 看一下執行狀況

1
2
3
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                         PORTS               NAMES
6b3333eabf30 solidnerd/bookstack:0.24.1 "/docker-entrypoint.…" 4 hours ago Exited (0) About an hour ago docker-bookstack_bookstack_1
b8d74048eba1 mysql:5.7.21 "docker-entrypoint.s…" 4 hours ago Exited (0) About an hour ago docker-bookstack_mysql_1

應該可以順利跑起來

bookstack運作畫面

沒啥難度,簡單作一下紀錄

後面再來看看能不能在一個地方新增 md 檔案,然後可以自動傳到 hexo/hugo/ghost 的目錄,接著自動生成靜態檔案出來…