はじめに
こちらの記事はFediverse Advent Calendar 2022の12月18日目の記事になります。
対象者
ポート開放ができないけど、自分でサーバーを公開したい人向け(ゲームのサーバーは一部対象外)
自分はWindowsの為、他OSはわかりません!
構築順
- ドメインを購入する(すでに購入済みの方はSKIP)
- CloudFlareの設定を行う
- Misskeyの構築
- 外部から接続を確認する
CloudFlareにてドメインを購入する
CloudFlareのDashboardからドメインの購入を行う
支払い方法はPaypalやクレカが使用できます。
CloudFlareの設定を行う
ドメインの購入を行ったらタブのZero Trustより設定を行います。
Tunnelsのタブより、Create a tunnelをします。
Name your tunnelは自分がわかりやすい名前を指定します
名前の設定を行ったあとは、CloudFlaredをInstall and run a connectorに従ってインストールします
(各OSを選択し、インストールします)
インストール後にTunnelsの設定を行います。
Public Hostnameから、Add a public hostnameから自分のPCと外部の接続を行います。
Subdomainは***.自分のドメイン
となる部分になります。
TypeはHTTPとし、URLには自分のサーバーとなる値を入れておきます
(Misskeyの場合はlocalhost:3000)
以上でPCとCloudFlareの接続は終わりです。
(localhostでサーバーを公開したい人はこのままサーバーを起動すると設定したURLへ公開されます)
Misskeyの構築
自分はMisskeyHubより全部自力でインストールする方法を取りました。
PostgreSQLのみ、UserとPassを作成する必要があります。
psql.exeよりCreate userを行います
psql CREATE USER user WITH PASSWORD 'pass'
上記に使用したuser,passは後で使用するので覚えておきましょう。
Configで変更する部分は下記部分を設定した値に変更します。
下記はCloudFlareにて設定したURLを記載
url: https://example.tld/
下記は自力でインストールする際にpsqlから作成したユーザーを記載します
db:
host: localhost
port: 5432
# Database name
db: misskey
# Auth
user: example-misskey-user
pass: example-misskey-pass
Proxyを使用する場合は下記も変更します。
# Proxy for HTTP/HTTPS
#proxy: http://127.0.0.1:3128
#proxyBypassHosts: [
# 'example.com',
# '192.0.2.8'
#]
# Proxy for SMTP/SMTPS
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Media Proxy
#mediaProxy: https://example.com/proxy
# Proxy remote files (default: false)
#proxyRemoteFiles: true
以上でconfigの設定が終わりです。
正常に設定されていれば
git checkout master
git pull
git submodule update --init
yarn install
yarn build
yarn migrate
でMisskeyが起動します。
外部から接続を確認する
最初に指定したURLからMisskeyが表示されていれば問題ないです。
(CloudFlareDNSの浸透待ちもあるかと思います)
なにかあれば@nenohi@misskey.nenohi.net,@nenohi@misskey.ioまで
ローカルでサーバーを立ててよかったこと
- 自分でコードの変更ができる
- 別サーバーにて障害が起きても自鯖は無傷
- 絵文字のインポートやサーバーブロックを自由にできる