私はKindleを諦めて、自分のeBookサーバーをCalibreで構築しました
Kindleをやめて自分の電子書籍ライブラリを作る方法を探していましたか?私もそうでしたが、Calibreを使えば、自分で電子書籍をホストし、どこでも読めるようにし、さらにはKindleに送信することも簡単にできます—サブスクリプションは不要です。
なぜ私はKindleを手放したのか
最近、アマゾンは多くの人々に愛されていたKindleの機能を削除することを決定しました。それは、自分のデバイスに電子書籍をダウンロードして読むことができる機能です。この消費者を無視した行為は、私たちが購入したデジタルコンテンツが実際には私たちのものではなく、いつでも revoked できるアクセス権を得ているだけであることを示す最近の動きの一つです。
KindleはもはやeBookファイルをダウンロードすることを許可していませんが、無料のeBookのための合法的なソースはいまだに数多く存在します。唯一の問題は、それらを簡単に読むことです。もちろん、Amazonは自社のサービスを自社のハードウェアと上手く統合しているのですが、自分でeBookを提供したい場合、それが必ずしも最も簡単な解決策とは限りません。
私がやりたかったのは、アマゾンの過剰な干渉なしに電子書籍を読むことです。そこでカリバーが登場します。
カリバーを発見する
Kindleサービスを使って電子書籍を読む代わりに、Calibreを試してみることにしました。たくさんのことを聞いていて、自己ホストしている人も何人か知っていますが、今度は私の番です。
Calibreは、自分でホストするツールで、あなたの電子書籍を管理します。Calibre自体はデータベースの側面のみを扱っていますが、それに接続できるアプリがいくつかあります。BookFusionはiPhoneとAndroidの両方で利用可能で、Calibreとネイティブに連携します。
一度Calibreに本を入れると、後はすべて自動で処理してくれます。本をカテゴリー分けしたり、配信したり、その他多くの機能を提供します。最も素晴らしい点は、Calibreは完全に無料でオープンソースであるため、サービスを利用するのに料金はかからないということです。
読みたい本をEPUB、PDF、またはその他の形式で取得できるなら、Calibreはそれらを楽しむために利用できるようにしてくれます。
カリバーの設定は簡単ではありませんでした
Calibreは自己ホスト型であるため、インストールや設定は自分で行う必要があります。私はPortainerを使用してDockerホストにインストールしましたが、基本的なインストールは非常に簡単でした。
コンテナに転送する必要があるポートが3つ、マウントする必要があるボリュームが2つ、設定する必要のある環境変数がいくつかあります。全体として、Dockerコンテナに関しては、かなりシンプルなデプロイメントでした。
一度起動すると、事情は少し複雑になります。8080ポートを立ち上げると(あなたのサーバーにあるもので、私のホストは8082で、コンテナの8080にポイントしています)、Calibreの設定インターフェースにアクセスします。正直なところ、これはかなり簡単ですが、一つだけ問題があります。Calibreはデータベースをネットワーク共有に保存すると、うまく機能しません。
私のDockerサーバーは、ストレージサーバーとは別のコンピュータです。これはサービスを分離するためですが、どちらかのサーバーを修理する必要があるときに、もう一方のサーバーのダウンタイムを避けるためでもあります。
そのため、私は通常、永続的なデータ(時間とともに増え続けるデータ)をDockerサーバーではなく、ストレージサーバーに保存します。ストレージサーバーは、状況に応じてどちらがより信頼性が高いかに基づいて、NFSとCIFSの両方でマウントします。
Calibreを最初に設定したとき、データベースをNASのネットワーク共有に保存するように構成しました。そうすることで、eBookコレクションが増えてもアプリのサーバーのスペースを取らないようにしました。しかし、Calibreが全く動作せず、トラブルシューティングにしばらく時間がかかりました。しかし、データベースをネットワーク共有ではなく、Dockerサーバーのローカルストレージに移動させたところ、Calibreは問題なく設定されました。
物語の教訓:頭痛を避けるために、Calibreデータベースはローカルに保管してください。
なぜカリバーウェブがすべてを変えたのか
私はすでに、Calibreを読む方法としてBookFusionについて言及しました。それはCalibreが電子書籍をネイティブに読むためのユーザーフレンドリーな方法を持っていないからです。Dockerコンテナは技術的にはVNCビューワーを使用して電子書籍を読むことを可能にしますが、その体験は快適とは言えません。
そこにCalibre Webが登場します。これは、あなたのCalibreサーバーに接続する別のDockerコンテナです。これにより、ライブラリとのインターフェースが、はるかにユーザーフレンドリーな方法で行えます。Calibre Webを使用すると、リバースプロキシなどを利用して、ネットワーク外の任意のブラウザーからライブラリにアクセスすることができます。また、ボタンを数回クリックするだけで、eBookを簡単にアップロードすることも可能です。
Calibre WebのUIはクリーンで、eBookライブラリを簡単にブラウジングできます。これは自己ホスティングのウェブサイトであり、コンテナ内のVNCビューアではないため、どのデバイスでも期待通りに動作します。私が電話、ラップトップ、iPad、またはデスクトップを使用しているときでも、Calibre Webインターフェースはうまくスケールし、全体的に使いやすかったです。
Calibre Webが私にとって最も重要なことは、ライブラリに簡単に本をアップロードできることです。Calibre VNCリモートを通じて技術的には可能ですが、そこにはもっと多くの手順が必要です。
Calibre Webでは、管理インターフェースに移動し、「基本設定を編集」をクリックし、「機能設定」を展開し、「アップロードを有効にする」にチェックを入れるだけです。アップロードを有効にするにはいくつかのステップが必要ですが、一度有効にすると、Calibre Webのフロントエンドに素敵なアップロードボタンが表示されます。
アップロードボタンをクリックすると、アップロードするためのすべての互換ファイル形式を選択でき、その後Calibre Webが残りの処理を行います。書籍のメタデータを手動で編集したり、Google BooksやKindleのような場所からメタデータを取得して、説明、著者、タイトル、表紙の写真などを入力することができます。
しかし、Calibre Webが私にとって本当に変わったのは、そのSend to Kindle統合によるものです。
Kindleへの送信はまだ機能しています - 方法はこちら
Kindleを本を購入する手段として放棄するかもしれませんが、(古くなった) Kindle Voyageが動作し続ける限り、私はまだそれを持っておきます。
Amazonは依然として、KindleデバイスにeBookを送信できるユニークなメールアドレスを提供するSend to Kindle機能を提供しています。Calibre Webは、SMTPまたはOAuthのメールアカウントを設定すると、これとネイティブに統合されます。
私は個人的に、Googleアカウントのアプリパスワードを使用してSMTPの方法を選びました。OAuthはDockerコンテナ内でうまく動作しなかったので、実際にそれは比較的一般的な問題のようです。そのため、SMTPを使うことにしました。
メール送信用のアカウントが設定されると、「EPUBをリーダーに送信」をクリックするだけで、Calibre Webがその後の処理を行います。私の場合、電子書籍がKindleに届くまで通常数分かかりましたが、使用するたびにうまくいきました。
これにより、私はKindleストア以外の場所から自分のeBookを調達し、それらを自分でホストし、なおかつKindleで読むことができます。本当にすべての面で最高です。







