Relayium

Relayium をセルフホスト:自分専用のファイル転送サーバーを運用

最終更新: 2026-07-09

Relayium は MIT ライセンスのオープンソースで、サーバーは1つの自己完結型イメージです——外部データベースも、サードパーティのストレージバケットも不要で、登録するものもありません。relayium.com に頼るのではなく全体を自分で運用したいなら、本ガイドで Docker によりサーバーを立ち上げ、CLI をそこに向ける方法を案内します。

セルフホストすることで、データがどこに置かれるかを完全に管理でき、自分のドメインと TLS 証明書を使え、他人のインフラ運用判断に依存しません。以下の内容はすべてリポジトリに実際に存在するファイル——docker-compose.yml、server/.env.example、docs/DEPLOYMENT.md——に基づいており、実在しないフラグや設定は登場しません。

なぜセルフホストするのか

Relayium のリアルタイム転送はもともとピアツーピアかつエンドツーエンドで暗号化されているため、その過程でサーバーがファイルのバイトを目にすることはありません。しかしサーバーはあなたのアカウントを保持し、また保存型/リンク型の転送については、暗号化されたブロブと小さな SQLite データベースを保持します。セルフホストとは、そのデータが自分が管理するインフラ上に、自分のドメインの下に置かれ、他人の運用判断が介在しないということです。

このプロジェクトは MIT ライセンスでオープンソース(github.com/relayium/relayium)なので、何かを任せる前にサーバーが正確に何をしているかを読んで確認でき、自由に fork したり改変したりできます。

Docker でクイックスタート

リポジトリのルートには Dockerfile と docker-compose.yml があり、これらは1つの自己完結型イメージ——事前ビルド済みの Web アプリを配信する静的 Go バイナリ——をビルドします。実行するためだけに別途 Node、Go ツールチェーン、nginx は不要です:

docker compose up -d --build

ネットワークをまたぐ転送用に TURN リレーを追加する

同一ネットワーク(LAN)の転送や、SSH ベースの push/pull は、追加設定なしで動作します。ネットワークをまたぐリアルタイム転送(それぞれ異なる NAT の背後にある2台のデバイス)は、経路確立のために TURN リレーが必要になることがあります——リレーは常に暗号文しか見ず、ファイルの中身を見ることは決してありません。

docker-compose.yml には任意の relay プロファイルがあり、メインサーバーと合わせて coturn(TURN サーバー)と、リレーバイト計測用の小さな Redis インスタンスを起動できます:

RELAYIUM_TURN_SECRET=$(openssl rand -hex 32) docker compose --profile relay up -d --build

CLI を自分のサーバーに向ける

Relayium CLI は、ネットワークをまたぐ send/receive で既定では relayium.com のランデブーサーバーを使います。--server を渡せば、代わりに自分のサーバーを使えます:

relayium send ./report.pdf --server https://your-domain
relayium receive --server https://your-domain

よくある質問

TURN を設定する必要はありますか?

ネットワークをまたぐリアルタイム転送を厳しい NAT 越しでも機能させたい場合にのみ必要です。同一ネットワークの転送、SSH ベースの push/pull、daemon-direct はいずれも TURN なしで動作します——TURN はネットワークをまたぐペアリングコード経路での NAT 越え専用です。

セルフホストしても CLI は無料のままですか?

はい。relayium.com に接続する場合でも自分で運用するサーバーに接続する場合でも、CLI は完全無料でアカウントも不要です——--server は単に自分のインスタンスを指すようにするだけです。

自分のドメインと TLS 証明書を使えますか?

使えます。Docker イメージ自体は :8080 で平文の HTTP を待ち受けます。前段に nginx か Caddy を置き、自分のドメインと証明書(例えば certbot/Let's Encrypt 経由)を設定してください。docs/DEPLOYMENT.md にそのままコピーできる完全な nginx 設定があります。

セルフホストしたサーバーはどんなデータを保存しますか?

RELAYIUM_DB にある SQLite データベース(アカウント、セッション)と、保存型/リンク型の転送については RELAYIUM_BLOB_DIR にある暗号化されたブロブ——これはサーバー自身も復号できません。リアルタイムのピアツーピア転送はどこにも保存されません——サーバーはシグナリングのハンドシェイクを中継するだけです。

無料の Relayium CLI をインストールし、--server で自分のサーバーに向けましょう。

CLI を入手

続けて読む