はじめに
SNSといえば、XやInstagramのような大規模なサービスを利用することが一般的です。
一方で、Misskeyは自分でサーバーを立てて運営できる分散型SNSです。サーバーごとに独自のルールやカスタマイズができるため、「自分だけのSNS」を作れるのが大きな魅力です。
私はインフラ技術を学ぶ中で、「実際に公開サーバーを運営してみたい」と考え、自宅サーバー上にMisskeyを構築しました。
この記事では、構築の流れや苦労した点、運営して感じたことを紹介します。
構成
今回の環境は次のような構成です。
- Ubuntu Server
- Docker / Docker Compose
- PostgreSQL
- Redis
- Cloudflare
- 独自ドメイン
- HTTPS対応
Dockerを利用することで、各サービスをコンテナとして管理し、環境構築やアップデートをしやすい構成にしました。
また、Cloudflareを利用することでSSL化やDNS管理を行い、安全に公開できる環境を整えています。
構築で苦労したこと
Docker環境の構築
Misskeyは複数のコンテナが連携して動作するため、最初は構成を理解するだけでも苦労しました。
データベースやRedisとの接続、環境変数の設定など、一つでも設定を誤ると正常に起動しません。
ログを確認しながら原因を一つずつ切り分け、Docker Composeの設定を何度も見直しました。
独自ドメインとHTTPS
インターネット上へ公開するために独自ドメインを取得し、Cloudflare経由で公開しました。
DNS設定やHTTPSの構成は初めてだったため、思うようにつながらないこともありましたが、仕組みを理解しながら設定を進めることで、安全にアクセスできる環境を構築できました。
サーバー運営
構築して終わりではなく、「安定して運営すること」の難しさも実感しました。
例えば、
- カスタム絵文字の追加
- アップロード容量の調整
- サーバー設定の変更
- 定期的なアップデート
など、運営を続ける中で少しずつ改善を重ねています。
利用者は私一人ですが、自分が快適に使える環境を目指して、日々設定の見直しや機能追加を行っています。運営しながら課題を見つけ、その都度改善していく経験は、実際のサービス運用にも通じる学びになっています。
監視環境も構築
公開サーバーである以上、停止にすぐ気付けることも重要です。
そこで、Uptime Kumaを導入し、サーバーの状態を24時間監視できるようにしました。
サーバーに異常があった場合は通知を受け取れるようにし、公開用のステータスページも用意しています。
単にサーバーを立てるだけではなく、「運営する」という視点で環境を整えたことも、大きな学びになりました。
構築して感じたこと
実際にサーバーを公開して運営してみると、本や教材だけでは学べないことが数多くありました。
DNS、HTTPS、Docker、Linux、データベース、監視など、さまざまな技術が一つのサービスを支えていることを実感しました。
また、トラブルが発生した際にはログを確認し、原因を調査しながら解決する経験を重ねたことで、インフラエンジニアとして必要な「問題を切り分けて解決する力」も身に付いたと感じています。
おわりに
Misskeyサーバーの構築は、単なる趣味の範囲を超え、インフラ技術を実践的に学べる貴重な経験になりました。
現在も運営を続けながら改善を重ねており、今後はバックアップの自動化や監視の強化などにも取り組んでいきたいと考えています。
これからも、自分でサービスを作り、運営しながら学び続けていきたいと思います。