前回 の続き。
構成
EteSync という E2EE でカレンダーやタスク、連絡先、メモなどを同期できるオープンソースのサービスがあり、そのセルフホスト版として Etebase がある。
サーバーには Etebase を構築し、PC ではクライアントとして Thunderbird を使う。Etebase は直接扱えないため、etesync-dav を利用して CalDAV サーバーとしてカレンダーを追加する。Android には Etebase との連携が強い Etar と Tasks.org を導入する。
サーバーの設定
Etebase の導入
Docker Compose を使って動かす。
ファイル構成
|
|
ファイルの作成
victor-rds/docker-etebase を参考に設定する。
-
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
version: '3' volumes: etebase_static: etebase_data: postgres_data: networks: proxy: external: true etebase: driver: bridge services: etebase: image: victorrds/etebase:latest container_name: "etebase" volumes: - etebase_data:/data:rw - etebase_static:${STATIC_PATH}:rw environment: SERVER: asgi SUPER_USER: ${ADMIN_USER} SUPER_PASS: ${ADMIN_PASS} DB_ENGINE: postgres DATABASE_NAME: ${DB_NAME} DATABASE_USER: ${DB_USER} DATABASE_PASSWORD: ${DB_PASS} DATABASE_HOST: postgres depends_on: - postgres restart: unless-stopped networks: - proxy - etebase labels: - "traefik.enable=true" - "traefik.http.routers.etebase.rule=Host(`${TRAEFIK_ETEBASE}`)" - "traefik.http.routers.etebase.entrypoints=https" - "traefik.http.routers.etebase.tls=true" - "com.centurylinklabs.watchtower.enable=true" postgres: image: postgres:13 container_name: "postgres" volumes: - postgres_data:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: ${DB_PASS} POSTGRES_USER: ${DB_USER} POSTGRES_DB: ${DB_NAME} restart: unless-stopped labels: - "com.centurylinklabs.watchtower.enable=true" networks: - etebase
-
.env
1 2 3 4 5 6 7 8 9 10 11
ADMIN_USER=admin ADMIN_PASS=<パスワード> DB_NAME=etebase_db DB_USER=etebase DB_PASS=<パスワード 2> STATIC_PATH=/srv/etebase CERT_DOMAIN=<ドメイン> TRAEFIK_ETEBASE=<ドメイン>
起動
|
|
起動後、.env で指定したドメインをブラウザで開き、“It works!” と表示されていたら成功。
Android の設定
EteSync の導入
他のアプリと連携するため、インストールする。
F-Droid か Google Play からインストールする。
アプリを開いたら (+) マークからアカウントの追加画面へ進む。Username は admin
, Password は .env で指定した ADMIN_PASS
が入る。今回はセルフホストした Etebase を使うので、Show advanced settings にチェックを入れて EteSync Server URL に https://<ドメイン>
を入力する。
ログインが完了したら EteSync アプリ側での設定は終わり。
Etar の導入
カレンダーアプリは Etar を使う。シンプルで使いやすく、EteSync との親和性も高いため。
F-Droid か Google Play からアプリをインストールする。
アプリを開いたらおそらくすでに EteSync の連携が完了していると思うが、されていなかったら手動で追加する。
Tasks.org の導入
タスク管理アプリには Tasks.org を使う。まだ使いこなせていないが機能はかなり豊富。
F-Droid か Google Play からアプリをインストールする。
アプリを開いたら [Settings] > [Not signed in] > [EteSync] からログインする。これも同様に “Show advanced settings” からサーバーを指定する。
PC の設定
etesync-dav の導入
先述の通り Thunderbird では Etebase を直接追加できないので、CalDAV サーバーとして追加するために etesync-dav を導入する必要がある。
- Releases から最新の etesync-dav.exe をダウンロードし、起動する
- ブラウザから localhost:37358 を開く
- ログイン画面が表示されるので、“add a new account” をクリックする
- いつものようにログインする
ログインに成功すると Welcome admin! と歓迎される。記載されている情報は Thunderbird でカレンダーを追加するときに使用する。
Thunderbird の設定
Thunderbird のメール設定はすでに完了しているものとする。
- Ctrl + Shift + C と Ctrl + Shift + D でタスクとカレンダーのタブを開く
- 左メニューの “Calendar” 横のプラスマークからカレンダーの作成画面を開く
- “On the Network” を選択して [Next]
- etesync-dav で確認した Username と Server をそれぞれ入力して [Find Calendars]
- パスワードの入力を求められるので etesync-dav の [Copy Password] をクリックしたあとに貼り付けて [Sign in]
- 追加したいカレンダーとタスクを指定したら [Subscribe] で完了
まとめ
普段タスクも予定もスカスカなので全然使いこなせている感じがしないが、今のところは不便な点もなく、満足している。