セルフホスティングとは
セルフホスティングとは自分用のサービスを自分自身で管理している事です。
「セルフ=自分で」、「ホスティング=サーバーを用意」の意味が正しいですね。
セルフホスティングしている環境はまた記事にしたいと思いますが、簡単には以下のような構成です。
なので、今から紹介するセルフホスティングしているサービスは、全てdocker上で稼働しています。
サービス一覧
サービス名 | 用途 | 備考 |
---|---|---|
gitbucket | Gitサーバー | https://github.com/gitbucket/gitbucket |
graylog | ログ管理 | https://github.com/Graylog2 |
joplin | ノートアプリ(joplin)の同期用サーバー | https://github.com/laurent22/joplin |
linkding | オンラインブックマーク | https://github.com/sissbruecker/linkding |
radicale | スケジュール(CalDAV)、アドレス帳(CardDAV)サーバー | https://github.com/Kozea/Radicale |
vaultwarden | パスワード管理(bitwarden) | https://github.com/dani-garcia/vaultwarden |
wallabag | 後で読むWebページ保存(Pocketのようなもの) | https://github.com/wallabag/wallabag |
wekan | Kanbanツール | https://github.com/wekan/wekan |
gitbucket
GitHubをセルフホスティングできるイメージです。
フリーで使える環境として有名なところではGitLabがありますが、GitLabはリソースが多く必要です。
あくまでもブログのファイルや、日々のメモファイルなどを複数端末で編集したり閲覧できることをメインに使っているので、軽量で必要十分の機能があるGitBucketを使用しています。
作者の方が日本人というのもポイントでした。
graylog
ログ管理を行うためのサービスです。
Syslogサーバーの一歩進んだような感じで、各機器から集めたログをためて、検索などの機能を提供してくれます。
(検索にはelasticsearchを使用します。)
主にファイアウォールのログ収集に使用していますが、Webアクセス情報のログなども収集しています。
joplin
エディタソフトのJoplin用のサーバーです。
複数端末間でJoplinのデータを同期したりするのに使用します。
基本GitBucketで十分なのですが、Android端末からのデータ同期に活用しようかなと最近建ててみました。
が、今評価中なのでそのうちなくなっているかもしれません。。。
構築方法は以下の記事を参照してください。
https://blog.picocake.com/index.php/2023/05/16/joplin_server/
linkding
ブックマークをオンラインで保存するためのサービスです。
例えばChromeやFirefoxなどのブラウザに同期機能がついていたりしますが、端末によって使用しているブラウザが違う場合や、ちょっと確認したいときなどにデータがWeb上にあると便利です。
あと、会社の端末で発見した気になるサイトを登録して、後でゆっくり見るなどもやっています。
(後から出てくるwallabagと併用している感じです。)
radicale
スケジュールデータとアドレス帳データを保存するサーバーです。
規格としては一般的なCalDAV, CardDAVを採用しているので、クライアント側の制約はほぼありません。
GoogleのサービスやMicrosoft 365のサービスでも複数端末で同期できますが、スケジュールやアドレス帳は超プライベートなデータだと思っているので、できれば自前で管理したい!という思いから使用しています。
予定を入れたらその予定に関連する広告が表示されたりすると、ぎょっとしたりしますし。。。
valutwarden
有名なパスワード管理サービスのbitwardenのフォークです。
bitwarden自体もセルフホスティング可能ですが、リソースが結構必要なので、軽量なvaultwardenを利用しています。
スケジュールやアドレス帳もそうですが、パスワードは超超プライベートな情報なので、自前で管理したい思いが強いです。
もちろんChromeやFirefoxなどのブラウザ間で同期したりできることもありますが、パスワードはほかのサービスに預けたくないですね。
パスワードだけではなく、クレジットカードの情報やセキュアメモなども保存できます。
bitwarden自体は暗号化方式も含めオープンソースとして公開されており、怪しい動きはしないというのも選んだ理由です。
wallabag
有名なところではPocket(旧 Read It Later)というサービスがあるWebページを後で読むために一時的に保存できるサービスです。
昔はPocketを愛用していましたが、なんとなくこれ自前でできるんじゃない?と思って探して見つけた感じです。
一時的な情報なので、正直クラウドサービスでもいいんじゃないかなと思っていますので、一旦切り替えて運用してみて検証中な感じです。
wekan
オンラインでKanbanを利用するためのサービスです。
Kanbanはアジャイル開発などで利用される、やることをホワイトボードに付箋で張って、「実施前」「実施中」「完了」などを視覚化するようなものです。
自身のToDo管理で使えるかなーと思いながら使ってみましたが、今はVSCodeのアドオンのToDo管理+GitBucketで管理していたりします。
(さっき久しぶりにログインしました。)
そのうちなくなっているかも。。。
セルフホスティングのいいところ
セルフホスティングをしている目的は主に以下の2つです。
- 便利なツールをサービス費用をかけずに使う
- プライベートな情報を自分で管理する
使っているもののほとんどはクラウドサービスがあり、課金をすれば便利に使えます。
そして、クラウドサービスのほうがデータのバックアップなどを考えなくてもよく、耐障害性も高いので何も考えない場合はおすすめです。
ただ、気軽に試してみようとしたときに課金が必要ないことがセルフホスティングではできます。
また、プライベートな情報を可能な限り個人で管理することで(経路上Webを通っているので気休め感はありますが)情報を守ることができ(と思ってい)ます。
あとは単純に仕組みを理解することができます。
もちろんdockerで動いているので、何も考えなければdocekrを立ち上げておしまいですが、データが格納されているDBを除いてみたりもでき、どのようにして動いているかを確認したりすることができます。
設備がちょっとだけ必要なので、ちょっとハードルは高いですが、私のようにNASについているおまけのような仮想化機能などを利用して、興味がある方はチャレンジしてみるのもいいのではないでしょうか。
仕組みに関しては別の記事で構築の仕方を含めて書ければいいなと思っています。
コメント