xandikos

  • CalDAV/CardDAVサーバー
  • minimalistic!
    • ユーザーは一つだけ
    • ユーザー認証もなし
    • 複雑な設定なし
  • docker-compose.ymlに書くだけ
  • 当たり前だけど,./xandikosディレクトリは1000:1000にとってrwじゃないといけない
...
  xandikos:
    restart: always
    image: ghcr.io/jelmer/xandikos
    user: "1000:1000"
    networks:
      - nginx
    volumes:
      - ./xandikos/:/data
    command: "--route-prefix=/baseurl/to/xandikos/"
...
  • docker-composeにnginxのサービスを作って,reverse proxyする
    • 流石に全世界にスケジュールを公開するわけにはいかないので
location /baseurl/to/xandikos/ {
  proxy_pass http://xandikos:8000;
  proxy_set_header Host $http_host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_redirect off;
  proxy_buffering off;
 
  auth_basic "login required";
  auth_basic_user_file /etc/nginx/htpasswd;
}
  • カレンダーのURLは/baseurl/to/xandikos/user/calendars/calendar
  • thunderbirdだと初期設定時にURLを/baseurl/to/xandikos/,ユーザー名をuserとしなければならない
    • リバースプロキシで設定したBasic認証のユーザー名がuserでない場合,初期設定の時だけBasic認証を一度無効化しなければならない
    • 初期設定後に認証を有効化すれば,thunderbirdでの次回情報更新時に,xandikosのユーザー名userと別にBasic認証のユーザー名を指定できるダイアログが表示される
  • AndroidならDAVx5がgood
  • Last modified: 15 months ago