筆記軟體同步雲端的功能其實有隱私疑慮,例如這裡發生過掃描使用者上傳的筆記內容,Joplin 是一個開源的免費筆記軟體,要同步到雲端目前有很多選擇,而且通通都可以加密後再同步。
其中最容易使用的雲端同步地點是 Dropbox,幾乎無痛可以使用,可惜 Dropbox 免費版本限制僅能 3 個裝置彼此同步資料,Joplin 則提供的另一個選項 - Joplin Server,自行架設 Server,將加密後的筆記同步至雲端 Server,可共享於多個裝置。
提醒:
- 筆記加密一定要設定,同步至自架Server上的才會加密、不會被竊取
- 筆記加密的密碼,不應跟 Joplin Server 上開立的帳號密碼一樣
架設 Joplin Server
設定 Joplin 的 env 檔案
vim .env
APP_BASE_URL=https://joplin.your_domain.com
APP_PORT=22300
Joplin Server Docker Startup script
Joplin Server 可以下載 Docker image,但是 Startup Script 應該要處理以下注意事項
- 保持更新
- port不應該開放22300,以免安全問題
- 要把資料庫自行掛載進去,以免container重生資料被刪除
以下是根據上述所處置的 script,使用預設的 sqlite 當作資料庫
#!/bin/bash
docker pull joplin/server:latest
docker stop joplin
docker rm joplin
docker run -d --restart unless-stopped --name joplin \
-p 127.0.0.1:22300:22300 \
-v your_log_dir:/home/joplin/packages/server/logs \
-v your_db_dir/db-prod.sqlite:/home/joplin/packages/server/db-prod.sqlite \
--env-file your_env_dir/.env \
joplin/server:latest
寫完 script、儲存後,即可啟動 docker container,看看有無正確啟動。
若 Database 掛載有問題,記得 database 檔案的權限要正確。
Nginx Proxy Setting
設定完 Joplin Server,因為上述監聽 127.0.0.1
須使用 Proxy 來訪問,以下是範例設定
server {
listen 443 ssl http2;
server_name joplin.your_domain.com;
root your_pbulic_root;
ssl_certificate /etc/letsencrypt/live/joplin.your_domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/joplin.your_domain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:22300;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 7200;
}
}
同步 Joplin
初始設定
確定 Joplin 可訪問後,參考 這裡 的 Secure the admin user 說明
- 登入、更改 admin 帳號密碼
- 新增使用者來同步,新增使用者若碰到驗證信箱,可切 admin 去 log 取得驗證連結
- 到本機的 Joplin App 來測試同步
本機APP同步至 Joplin
Ctrl+,
可開啟「設定 > 同步」(Tools > Options > Syncronization)
同步目標 ( Synchronization target ) 選 Joplin Server ,填入:
- Joplin Server url - your joplin server url
- Joplin Server email - your email
- Joplin Server password - your password
按下「Check Syncronization Configuration」,就可以測試是否正確設定,測試成功後,即可同步筆記。
到 Joplin Server 查驗
https://joplin.your_domain.com/items ,即可看到剛剛上傳的筆記
使用別的裝置一樣設定同步,即可確認筆記都有同步回來