這一系列文章,是我自己完成 Docker Server 建立的經歷以及過程,包含以下章節內容:
- 新手自建 Docker 伺服器 - (0) 簡介與架構說明
- 新手自建 Docker 伺服器 - (1) Ubuntu 主機建立 docker 服務
- 新手自建 Docker 伺服器 - (2) 建立 Nginx 代理伺服器
- 新手自建 Docker 伺服器 - (3) 建立應用,以靜態網頁為例
- 新手自建 Docker 伺服器 - (4) 建立 Joplin 筆記軟體
- 新手自建 Docker 伺服器 - (5) 建立自己的音樂串流服務 Navidrome
自建 Docker 伺服器 - (4) 建立 Joplin 筆記軟體
接下來建立的過程以及 code 會比較簡單,覺得可以著重在軟體介紹與內容。
Joplin 簡介
Joplin 是一個開源的跨平台筆記軟體,他支援 Markdown 格式,也能透過 plugin 來畫圖,以及其他不同的應用,他也能像 Notion 一樣設定 public,來上其他人看你的 Joplin 筆記。
本為主要為在 docker 建立 Joplin Server 端服務,而 iPhone, Mac, Windows 主機就透過 client 端設備連線 Server 來同步筆記,不過如果不想要建立 server 的話,其實也可以用 Dropbox 或 Nextcloud 等來當作儲存端,其實想一想以資源來說好像 Nextcloud 更好…至少不用多 run 一個 server 服務。
Joplin 的官方網站 https://joplinapp.org/
步驟一:建立 joplin 資料夾
建立 docker 資料夾
mkdir ~/joplin-server
cd ~/joplin-server
#建立docker compose
nano docker-compose.yml
步驟二:撰寫 docker compose
透過指令建立 docker compose 檔案,開始撰寫
nano docker-compose.yml
貼上以下 docker compose 內容,這裡的幾個部分可以稍微理解下
- joplin 會需要 db 以及 joplin app,因此會有兩個
- db 的 postgress 會額外建立一個 postgress 使用的 volumnes
- network 記得都要加上去
services:
db:
image: postgres:16
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=joplin
- POSTGRES_USER=joplin
- POSTGRES_DB=joplin
networks:
- net
app:
image: joplin/server:latest
container_name: joplin
depends_on:
- db
ports:
- "22300:22300" #左邊的 port 也可以自己更換
restart: unless-stopped
environment:
- APP_BASE_URL=https://yourdomain.com/
- DB_CLIENT=pg
- POSTGRES_PASSWORD=joplin
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=joplin
- POSTGRES_HOST=db
- VIRTUAL_HOST=yourdomain.com #之後要到 DNS 上綁定的 domain
- LETSENCRYPT_HOST=yourdomain.com #如果要申請 SSL 憑證的話,這一行可以填入,但如果跟我一樣想要 domain 走 cloudflare,可以不填入
networks:
- net
volumes:
postgres_data:
networks:
net:
external: true
步驟三:部署
完成 docker compose 後,接著透過指令部署。
docker compose up -d
結束之後也可以再 docker ps 看一下,確認 Run 起來。
步驟四:Cloudflare 設定
接著,到你的 DNS 內,把 Joplin 指定的 yourdomain.com
指向 Server 的 IP。
步驟五:開啟網站設定 Joplin
此時,你可以試著在 http://yourdomain.com 來進入 Joplin,預設帳號密碼為 admin@localhost/admin
,個人建議進去之後可以創立一個常用的 User ,後續 Client 端都使用這個即可
Note: 如果有 SSL,則可以測試 https
開啟使用 Joplin
到這邊已經把 Server 端的設定全部做完了,接下來就可以開始在 Client 端開啟使用,各種平台可以到 Joplin Download 下載。
我自己目前用起來滿喜歡的,整體速度比起 Notion 來得快,當然整體不如 Notion 那樣有更良好的 UI,但整體是堪用且不錯的筆記軟體,當然重點在於 擺脫雲端擁抱開源
,爽啦。
如果你有碰到什麼困難,歡迎寫 email 給我來討論喔