LoginSignup
5

Misskeyをポート開放できない自宅から公開した話

Posted at

はじめに

こちらの記事はFediverse Advent Calendar 2022の12月18日目の記事になります。

対象者

ポート開放ができないけど、自分でサーバーを公開したい人向け(ゲームのサーバーは一部対象外)
自分はWindowsの為、他OSはわかりません!

構築順

  1. ドメインを購入する(すでに購入済みの方はSKIP)
  2. CloudFlareの設定を行う
  3. Misskeyの構築
  4. 外部から接続を確認する

CloudFlareにてドメインを購入する

CloudFlareのDashboardからドメインの購入を行う
image.png
支払い方法はPaypalやクレカが使用できます。

CloudFlareの設定を行う

ドメインの購入を行ったらタブのZero Trustより設定を行います。

Tunnelsのタブより、Create a tunnelをします。
image.png

Name your tunnelは自分がわかりやすい名前を指定します
image.png

名前の設定を行ったあとは、CloudFlaredをInstall and run a connectorに従ってインストールします
image.png
(各OSを選択し、インストールします)

インストール後にTunnelsの設定を行います。
Public Hostnameから、Add a public hostnameから自分のPCと外部の接続を行います。
image.png

Subdomainは***.自分のドメインとなる部分になります。
TypeはHTTPとし、URLには自分のサーバーとなる値を入れておきます
(Misskeyの場合はlocalhost:3000)
image.png

以上で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まで

ローカルでサーバーを立ててよかったこと

  1. 自分でコードの変更ができる
  2. 別サーバーにて障害が起きても自鯖は無傷
  3. 絵文字のインポートやサーバーブロックを自由にできる

参考

CloudFlare Tunnelで自宅サーバーを公開する(FreeプランOK)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5