安裝 Joplin Server(Docker)
- 想找一個可以多個裝置離線編輯, 同步到自己的 Server 筆記工具.. 最近剛好看到 Joplin 似乎很符合這個需求.
- Joplin 已經提供主流用戶端平台的程式, 可直接到 https://joplinapp.org/download/ 下載安裝
安裝自己 Joplin Server 程序
- 編輯 docker-compose.yml
version: '3' services: db: image: postgres:16 volumes: - ./data/postgres:/var/lib/postgresql/data ports: - "5432:5432" restart: unless-stopped environment: - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_DB=${POSTGRES_DATABASE} app: image: joplin/server:latest depends_on: - db ports: - "22300:22300" restart: unless-stopped environment: - APP_PORT=22300 - APP_BASE_URL=${APP_BASE_URL} - DB_CLIENT=pg - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DATABASE=${POSTGRES_DATABASE} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PORT=${POSTGRES_PORT} - POSTGRES_HOST=db
- 依照實際資訊編輯 .env 參數定義檔 Exp.
POSTGRES_USER=jpuser POSTGRES_PASSWORD=myPassw0rd POSTGRES_DATABASE=joplindb POSTGRES_PORT=5432 APP_BASE_URL=http://192.168.11.234:22300
- 啟動服務
docker compose up -d
用戶端設定
常見問題
- Q1: docker compose logs app 出現 Error: The device time drift is 21208ms (Max allowed: 2000ms) 錯誤訊息
- A1: 這表示主機時間和網路標準時間已經產生落差超過 2000ms , 可以確認主機同步標準時間或是透過增加 MAX_TIME_DRIFT 環境變數來解決 Exp.MAX_TIME_DRIFT=0 表示不用理會主機時間差異(這可能會造成多 Client 同步資料出現覆蓋的異常狀況)
- A2: 可以參考 Alpine 設定網路同步系統時間(chronyc) 安裝網路校時工具解決