安裝 Joplin Server(Docker)

  • 想找一個可以多個裝置離線編輯, 同步到自己的 Server 筆記工具.. 最近剛好看到 Joplin 似乎很符合這個需求.
  • Joplin 已經提供主流用戶端平台的程式, 可直接到 https://joplinapp.org/download/ 下載安裝
  1. 編輯 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
  2. 依照實際資訊編輯 .env 參數定義檔 Exp.
    POSTGRES_USER=jpuser
    POSTGRES_PASSWORD=myPassw0rd
    POSTGRES_DATABASE=joplindb
    POSTGRES_PORT=5432
    APP_BASE_URL=http://192.168.11.234:22300
  3. 啟動服務

    docker compose up -d

  4. 連上 APP_BASE_URL 網址 Exp. http://192.168.11.234:22300

    輸入預設帳號密碼登入 admin@localhost / admin
  5. 新增自己的帳號、刪除或修改 admin@localhost 密碼
  1. Windows 上的 Joplin 設定同步
  • 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) 安裝網路校時工具解決
  • tech/joplin.txt
  • 上一次變更: 2024/11/17 08:02
  • jonathan