少人数向けmisskeyフォーク「dolphin」をローカルのDocker上に建ててちょっと触ってみた記事

はじめに

この記事は、[Misskey Advent Calender 2021] 5日目の記事です。
一昨日の記事は黒ゐ樹さんの GitpodでMisskeyをはじめようでした。

ちなみに筆者はアドベントカレンダー書くの初です。お手柔らかにお願いします。

Misskeyといてば、有志により様々なフォークが存在することで有名ですが、
そのうちの一つに、misskeyの生みの親syuilo氏によるdolphinというフォークがあります。
このdolphinというのは、まあ要するに所謂「おひとりさま」または少人数向けに本家misskeyから
色々機能を削ぎ落としたものらしいです。のですごい軽いらしい。
11月ぐらいになってなんか急に「そういやdolphinってあったよね…」ってのを思い出したので
今回はdolphinを構築した際の簡単な手順と、実際に少し使ってみた所感を記載してみます。

本当はこれをConoHaのVPSの一番安いやつ(1vCPU / 512MBのやつ)でホストしてしばらく実際に運用してみて…とかやりたかったのですが、11月中めちゃめちゃ忙しかったのと526エラー(CloudFlareのエラー)が解決できずに死んだので、今回はローカルのDocker上に構築してやってみます。
(misskeyはすでに完成されたdocker-compose.yamlがあるのでdockerでの構築がクソ簡単なのだ)

ちなみに、syuilo氏によるdolphinはしばらくメンテされていないため(確か忙しいからって理由だった気がするけど忘れた)
今回はめいめい氏によるdolphinのフォークである
めいどるふぃんで構築していきたいと思います。

用意するもの

・Docker、docker-composeが使えるパヨヨン

1
2
3
4
5
6
$ uname -a
Linux hostname 5.4.0-90-generic #101-Ubuntu SMP Fri Oct 15 20:00:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ docker --version
Docker version 20.10.7, build 20.10.7-0ubuntu5~20.04.2
$ docker-compose --version
docker-compose version 1.26.0, build d4451659

構築します

ソースコードとか一式を持ってくる。

1
2
3
4
5
6
$ git clone https://github.com/mei23/dolphin.git
$ cd dolphin
$ cp .config/example.yml .config/default.yml
$ vim .config/default.yml
$ cp .config/docker-example.env .config/docker.env
$ cat .config/docker.env

変更箇所だけ乗せていきます

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Dolphin configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

# ┌──────────┐
#───┘ Instance └────────────────────────────────────────────────

# Your instance name
name: 'Rustered:dolphin'

# Your name
maintainerName: 'Julia Rustered Scott'

# Youe email address
maintainerEmail: 'contact@ruste.red'

# ┌─────┐
#───┘ URL └─────────────────────────────────────────────────────

# Final accessible URL seen by a user.
# 本来ならここにドメインを記入する
url: http://127.0.0.1/

# Listen port
port: 3000


# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
#dbに接続するために必要な情報を記載。dockerで動かす場合、ホスト名を「db」に変更する
db:
host: db
port: 5432

# Database name
db: dolphin

# Auth
user: dolphin
pass: password

# ┌─────────────────────┐
#───┘ Redis configuration └─────────────────────────────────────

# hostを「redis」に変更
redis:
host: redis
port: 6379
#pass: example-pass

1
2
3
4
# db settings
POSTGRES_PASSWORD=password
POSTGRES_USER=dolphin
POSTGRES_DB=dolphin

ビルド作業

1
2
$ sudo docker-compose build
$ sudo docker-compose run --rm web yarn run init

起動!!!!!!!!!!!!!!!!

1
$ sudo docker-compose up -d

この状態でhttp://127.0.0.1:3000にブラウザでアクセスすればdolphinのログイン画面が出てくるはずです。

アカウント作成

dolphin構築_1

構築が完了するとmisskeyで見たことあるような無いような画面が出てきます。
ちなみに最初の1つ目のアカウント作成後、このログイン画面でアカウント新規作成を行なうことはできなくなります。新しいアカウントを作りたい場合、後述する管理者機能を用いて作成する形になります。

ざっと見てみた感じ

ここからはmisskeyとの相違点だけ挙げていきます。

タイムライン

タイムラインはLTLがなく、ホームTLと連合TLだけあります。えっGTLあるんだ。

dolphin構築_2

ちなみに画像が表示されてないのはたぶんぼくの構築ミスだと思います。
実際はちゃんと表示されてると思います。

オブジェクトストレージの設定は設定ファイルで行なう

misskeyだとオブジェクトストレージの設定は管理者画面(web上)で行えるんですが、dolphinだと管理者画面にオブジェクトストレージの設定画面はなくdefault.ymlで設定するようになっています。

新規アカウントの作成方法

先述したとおりdolphinはアカウントの新規登録はトップ画面では行えません。
なので、左下のハンバーガーメニュー→「インスタンス」→「ユーザー」と進むことで
ユーザー一覧画面へ飛べるので、「ユーザーを追加」を押下することで新しいアカウント

ちなみにここでユーザー名、パスワードを入力するので、前者は事前に希望のIDを聞いておくなどし、
パスワードは管理者側で一度仮パスワードを発行しておいて払い出す対象の人に変えてもらう
という形になるでしょう。

dolphin構築_3

このほかはたぶんmisskeyと同じだと思われます。ちゃんとリレーとか
カスタム絵文字リアクションとかも対応しています。

あとがき

少し雑にはなってしまったんですが、dolphin(めいどるふぃん)を少し触ってみた記事でした。
misskeyの主要機能はほとんどあって:iikanji:そうだったのでそのうちちゃんと建てて他AcPubインスタンスと連合させて運用してみたいですね。

ご指摘等あればmisskeyアカウントまでリプライください!