fluxer.comのアカウント数が50万を超えました。Fluxerのアプリはセルフホストのインスタンスでも使えます。

記事を読む

自分のFluxerインスタンスを運用する

FluxerはAGPL-3.0ライセンスのオープンソースで、セルフホスティングは無料です。コマンド1つで、Linux、macOS、Windowsに自分のインスタンスをインストールできます。

コマンド1つでインストール

curl -fsSL https://fluxer.dev/install.sh | sh

GitHubでスクリプトを読む

irm https://fluxer.dev/install.ps1 | iex

PowerShellで実行してください。GitHubでスクリプトを読む

このスクリプトは、私たちのGitHubリリースからrexctlをダウンロードし、SHA-256チェックサムを確認してから起動します。rexctlはいくつか質問をしたあと、HTTPSを有効にしてFluxerをセットアップし、完了するとインスタンスのアドレスを表示します。

セルフホスティングガイドを読む

必要なもの

  • Linux、macOS、Windowsのいずれかが動く64ビットのIntel、AMD、Armマシン。CPUは2コア以上、メモリは4 GB以上、空きディスク容量は20 GB以上が必要です。これで、同時に約1,000人がオンラインになるインスタンスを運用できます。

  • Linuxでは、rexctlはDockerとPodmanのどちらでも動作し、どちらも入っていなければDockerをインストールします。macOSとWindowsでは、Docker Desktopをインストールして起動しておく必要があります。

  • インスタンス用のドメインまたはサブドメイン(例:chat.example.com)。DNS設定に、マシンのパブリックIPアドレスを指すAレコードが必要です。

  • マシンの手前にあるファイアウォールで、TCPポート80、443、7881とUDPポート443、7882が開いていること。マシン自体のファイアウォールは、rexctlがufwまたはfirewalldで開けられます。

  • メールサーバーはなくても構いません。あとから設定することも、メールアドレスなしでユーザー名でサインインしてもらうこともできます。

すべての要件を読む

GitHubでオープンソースとして公開

Fluxerとrexctlのコードは、AGPL-3.0ライセンスでGitHubに公開しています。実行、研究、改変、共有は自由です。改変したものをネットワーク越しに他の人へ提供する場合は、その変更も同じライセンスで共有する必要があります。

ライセンスキーは不要で、機能を削った版もありません。Fluxerの運営費は、Plutonium、寄付、Operator Passでまかなっています。

インスタンスの運用

インストール後も、rexctlがインスタンスの稼働を支えます。以下のコマンドは、Fluxerをインストールしたマシンのターミナルで実行してください。

  • アップグレード

    rexctl upgrade

    rexctlとFluxerをまとめてアップグレードします。先にインスタンスをバックアップし、新しいバージョンが起動しなかった場合は、自動で以前のバージョンに戻します。

    アップグレードの仕組み

  • ロールバック

    rexctl rollback

    前回のアップグレード前のバージョンに戻します。データベースはそのまま残ります。アップグレード前にrexctlが作成したバックアップを復元することもできます。

    ロールバックの仕組み

  • バックアップと復元

    rexctl backup

    設定、データベース、アップロードされたファイルを1つのファイルに保存します。同じマシンで復元することも、インスタンスを別のマシンに移すのに使うこともできます。

    バックアップの仕組み

  • ユーザーの管理

    rexctl invites create

    招待リンクを作成します。ほかのrexctlコマンドでは、アカウントを作成できる人の設定、承認待ちの人の承認、管理者の追加、アカウントのBANができます。

    ユーザーを管理する方法

  • 問題のチェック

    rexctl doctor

    インスタンスとマシンに問題がないかを確認します。--fixを付けると、安全に直せる問題はrexctlが修正します。

    rexctlのすべてのコマンド

  • 設定の変更

    rexctl config list

    すべての設定を、現在の値と1行の説明付きで一覧表示します。メールとブランディングは管理パネルからも変更できます。

    設定を変更する方法

Fluxerのほかの運用方法

  • Docker Compose

    Portainer、TrueNAS、Unraidのように、composeスタックを動かしてくれるプラットフォームを使っている場合は、各リリースに含まれるcomposeバンドルを使えます。

    Docker Composeで運用する

  • Kubernetes

    Helmチャートは、rexctlが1台のマシンで動かすものと同じFluxerのサービスを、Kubernetes 1.29以降のクラスターで動かします。

    Kubernetesで運用する

  • 自前のリバースプロキシ

    マシン上の別のウェブサーバーがすでにポート80と443を使っている場合、Fluxerはnginx、Caddyなどのプロキシに向けて通常のHTTPで応答できます。

    自前のプロキシを使う

利用者はFluxerのアプリから接続します

利用者は、ブラウザでインスタンスのアドレスを開くか、Fluxerのデスクトップアプリやモバイルアプリにアドレスを入力します。サインインにメールアドレスとユーザー名のどちらを使うかはあなたが選べ、自前のIDプロバイダーを使ったシングルサインオンも追加できます。

アカウントを作成できる人もあなたが決めます。誰でも登録できるようにするほか、承認制や招待リンク制にしたり、新規登録を止めたりできます。利用者は、fluxer.comを含む別々のインスタンスのアカウントを、アプリのアカウントスイッチャーに追加できます。

あなたのインスタンスとfluxer.com

セルフホストのインスタンスが、私たちのサーバーへ勝手に通信することはなく、中央のサインインシステムに依存することもありません。Fluxerのスタッフが、あなた自身のインスタンスや、私たちが運営していないほかのインスタンスからあなたをBANすることはできません。

あなたのインスタンスに有料プランはありません

自分で運用するインスタンスにPlutoniumはありません。Plutoniumの特典をすべて自分に無料で付けることも、ユーザーにどう提供するかを決めることもできます。アップロードに有効期限を設ける必要もありません。

自分のインスタンス向けのプッシュ通知

AppleとGoogleは、Fluxerだけが持つ認証情報で公式のFluxerアプリに通知を届けます。私たちのプッシュリレーは、あなたのインスタンスの通知をAppleとGoogleに中継しますが、それはあなたとアプリの利用者の両方が有効にしている場合だけです。

通知はあなたのインスタンスが1件ずつ暗号化するため、私たちが読むことはできません。記録するのは、時刻やインスタンスのネットワークアドレスといった配信情報です。Androidでは、UnifiedPush版のアプリなら私たちのリレーを通らずに通知を受け取れます。

リレーから見えるもの

運用に必要なこと

インスタンスの運用には継続的な作業が必要です。Fluxerを最新に保ってインスタンスを動かし続け、利用者のためのモデレーションと安全対策も担います。

プライバシーポリシーの第1条にあるとおり、インスタンスの管理者であるあなたは、そのインスタンスについてデータ保護法上の「管理者」(データコントローラー)にあたり、法律上の義務を自ら負います。

セルフホスティングに関する質問

セルフホスティングは無料ですか?

はい。Fluxerとrexctlは無料です。費用がかかるのは、マシン、ドメイン、そのほか自分で使うものだけです。

セルフホスティングにOperator Passは必要ですか?

いいえ。セルフホスティング、ドキュメント、Fluxer Developersでのコミュニティのサポートは、誰でも無料で使えます。Operator PassはFluxerの費用の一部をまかなう任意の買い切り商品で、あなたのインスタンスで何かが解放されたり変わったりすることはありません。

インスタンスを別のマシンに移せますか?

はい。rexctl backupでインスタンスをバックアップし、バックアップファイルを新しいマシンにコピーして、インストールスクリプトでそこに復元します。そのあと、ドメインのAレコードを新しいマシンのアドレスに変更してください。

rexctlができる前にインストールしたインスタンスは、どうアップグレードすればよいですか?

最新のインストールスクリプトを、--updateとインスタンスのあるフォルダーを指定して実行してください。rexctlがインストールされてインスタンスの管理を引き継ぎ、データと設定はそのまま残ります。再インストールは不要です。

あとからrexctlを使うのをやめられますか?

はい。rexctl ejectを実行すると、すべての設定がDocker Compose用にインスタンスのフォルダーに書き出され、rexctlはインスタンスを変更しなくなります。Fluxerはそのまま動き続けます。rexctl takeoverを実行すると、インスタンスの管理がrexctlに戻ります。

自分のストレージやデータベースを使えますか?

rexctlでインストールする場合は、--storage-endpointで自分のS3互換オブジェクトストレージを使えます。Kubernetes向けのHelmチャートでは、すでに運用しているPostgres、Valkey、NATS、Meilisearch、LiveKitのサーバーも使えます。

Operator Pass

Operator Passは、Fluxerを支援する1回払いの買い切りです。パスには、番号付きのOperator証明書、Operatorバッジ、Operatorsウォールへの掲載が付いてきます。パスによって、あなた自身のインスタンスで変わることは何もありません。

Fluxerバースへようこそ

アプリをインストールするか、ブラウザでFluxerを開けば、すぐに会話を始められます。