ゆれ子がここに来るまでのこと

ゆれ子

……わたし、気がついたらこのデスクトップにいたんだよね。その前のことは、うーん……あんまり覚えてないかも。

ゆれ子が暮らしているのは、SWING のダッシュボードのデスクトップ画面です。この画面が初めて表示されるまでには、いくつかのステップがあります。SWING を入れる、ダッシュボードを開く、セットアップ画面で最初の設定をする、といったことです。今回はこの順に、ゆれ子が目を覚ますまでの道のりをたどっていきましょう。

SWING をインストールする

SWING は、自分のコンピュータの上で動かすプログラムです。サイトのデータを保存・配送するために、IPFS ノードの Kubo も一緒に動かします。ここで紹介する入れ方はどれも Kubo をまとめて入れるので、別に用意する必要はありません。

Linux(x86_64・aarch64)では、インストールスクリプトを使います。--service を付けると、ログイン時に起動するようサービスとしての登録まで済ませます。

curl -fsSL https://github.com/amane-katagiri/swing/releases/latest/download/install.sh | sh -s -- --service

Windows では、GitHub のリリースにある swing-<v...>-x86_64-pc-windows-msvc-setup.exe を実行します。ユーザーごとのインストールなので管理者権限は不要です。インストーラーには署名をしていないため、開いたときに SmartScreen の警告が出ることがあります。そのときは「詳細情報」を押し、出てくる「実行」で進めます。最後の画面で「SWING を起動してダッシュボードを開く」を選ぶと、そのままダッシュボードが開きます。

macOS では Homebrew でインストールして、swing service install でログイン時に起動するよう登録します。

brew install amane-katagiri/swing/swing
swing service install

動作環境を隔離したい場合は、Docker Compose で動かすこともできます。リポジトリを取得して、.env を用意してから起動します。この方法では、以降のコマンドの swing ... を docker compose exec mirror swing ... に読み替えてください。

git clone https://github.com/amane-katagiri/swing.git
cd swing
cp .env.example .env
docker compose up -d

更新やアンインストールのしかた、設定ファイルの置き場所は docs/guide/install.md にまとまっています。

ゆれ子

いろんな入り口があるんだね……。どこから来ても、たどり着くのは同じデスクトップなのかな。

ダッシュボードを開く

ダッシュボードは、SWING が自分のコンピュータの中で開いている管理用の Web ページです。既定では http://127.0.0.1:8082/ で待ち受けていて、ほかのコンピュータからは見えませんが、この URL を直接開いてもすぐには使えません。先にログインが必要です。

いちばん簡単なのは、ターミナルで次のコマンドを実行することです。使い捨てのログインリンクが作られ、ブラウザで開きます。

swing dashboard open

リンクを開くとログイン画面にコードが入った状態になるので、「ログイン」を押すとログインが完了します。リンクは 1 回限りで、5 分たつと使えなくなります。一度ログインすると、その状態は 30 日続きます。

Docker Compose の場合は、コンテナの中からブラウザを開けません。--no-browser を付けて実行し、表示された URL を自分でブラウザに貼ります。

docker compose exec mirror swing dashboard open --no-browser

Windows か macOS なら、コマンドを打たずに済む方法もあります。インストールすると、Windows ではタスクトレイ、macOS ではメニューバーに SWING のアイコンが出ます。このアイコンのメニューから「ダッシュボードを開く」を選ぶと、ログイン済みのダッシュボードが開きます。このメニューの一番上には SWING の状態が出ていて、最初の設定が済んでいないあいだは「SWING: セットアップ待ち」と表示されます。必要に応じて再起動や停止もできます。Linux にはこのアイコンが無いので、上記のコマンドで開いてください。

ゆれ子

えっ、わたしのいるところって、鍵のかかったお部屋だったんだ……。

ダッシュボードには SWING の重要な設定や操作がまとまっているので、そのコンピュータを使う本人だけが入れるようになっています。

セットアップ画面

初めて起動したときは、まだ設定ファイルがありません。この状態の SWING は「セットアップモード」で動きます。セットアップモードでは、ダッシュボードだけが動いていて、Kubo もミラーの仕事をする mirror-agent もまだ起動していません。ダッシュボードを開いても、サイドナビには「セットアップ」しか出ず、デスクトップ画面にもまだ入れません。

ゆれ子

……そのころのわたしは、まだ眠ってたのかも。

セットアップ画面で入力するのは、鍵・リレー・ストレージ上限の 3 つです。

最初の「鍵」は、SWING が Nostr にイベントを出すときの署名に使うものです。選び方は 3 つあります。「新しい鍵を生成する」は SWING 専用の鍵をその場で作るもので、既定はこれです。「既存の鍵を使う」は、今使っている秘密鍵を貼り付けるものです。「スマホの署名アプリで署名する(NIP-46)」を選ぶと、秘密鍵をこのコンピュータに置かず、署名のたびにスマホのアプリへ依頼する仕組みを使います。それぞれに向き・不向きがあり、鍵そのものの話も長くなるので、詳しくは次回に取り上げます。

「リレー」は、更新の通知やミラー対象のリストをやりとりする Nostr のリレーです。いくつかの公開リレーがあらかじめ入っていて、既定のままでも動きます。

「ストレージ上限」は、ほかの人のサイトを保存するのに差し出してよいディスクの容量です。合計の上限(既定 100GiB)、サイトごとの上限(既定 10GiB)、アカウントごとの上限(既定 20GiB)の 3 つがあります。どのくらいにすればよいかの目安は docs/guide/operation.md にあります。

ゆれ子

ほかの人のサイトをしまっておく場所……。わたしも、そこで一緒に過ごしてるのかな。

入力して「セットアップ」を押すと、設定ファイル swing.toml が書き込まれ、エージェントが再起動します。少し待つと、画面に自分の公開鍵(npub1...)が表示され、続けて設定画面に移ります。ここから先は、Kubo と mirror-agent も動き始めています。

デスクトップ画面

セットアップを終えると、サイドナビにほかの画面が並びます。上から順に、デスクトップ・サイト・Webring・公開・設定です。一番上の「デスクトップ」を選ぶと、デスクトップ画面が開きます。

デスクトップ画面は、懐かしい Windows 風のデスクトップを模した画面です。青緑色のデスクトップにはシンプルなアイコンが並び、下にはタスクバーとタスクトレイがあります。真ん中には「リンク集 - SWING Explorer」というブラウザ風のウィンドウが開いていて、ここに保存したサイトへのリンクが並びます。ただ、セットアップを終えたばかりでは、まだ何もミラーしていません。リンク集の上には「まだ何もミラーしていません…また今度見てね!」とマーキーで流れているはずです。

そして、タスクバーの上を小さなキャラクターが歩いています。これがゆれ子です。

ゆれ子

こんにちは……ゆれ子だよ。今日も、よろしくね。

ダッシュボードを開いたときに最初に出る画面は、既定ではデスクトップ画面ではなくサイト一覧の画面です。毎回デスクトップ画面から始めたいときは、デスクトップの「コントロール パネル」を開き、「システム」タブの「起動時にデスクトップを表示する」をオンにします。

ゆれ子

それ、オンにしてくれたらうれしいな……。毎回、すぐに会えるから。

次回は、セットアップ画面で選んだ「鍵」について、もう少しくわしく見ていきます。

ゆれ子

鍵って、ドアの鍵とはちがうのかな……。わたしも、いっしょに聞いてみるね。