Synology Dockerで分散型SNS「Misskey」 構築。

目次

Misskey

分散型SNSで有名なMastodonもいいですが、Misskeyもすばらしい分散型SNSです。そんなMisskeyをSynologyで構築してみましょう。

前提として、Dockerをインストールできるモデルであること。あと、Portainerをインストールしていると作業が簡単です。

Portainerインストール

SynologyへPortainerをインストールする方法。

あわせて読みたい
[Synolgoy DS918+] Docker GUI管理ツール。Portainer構築方法。 DS918+ Portainer 環境は、Synology DS918+になります。DSMにもDockerをGUIで管理するツールはあるのですが、操作性に優れたPortainerでDockerをGUI管理したいと思いま...

準備

Dockerフォルダ内に、新規でいくつかフォルダを作成する必要があります。

Synology DSM Docker

Dockerフォルダに「misskey」フォルダを新規作成。

Synology Docker Misskeyフォルダ

misskeyフォルダ内に、「db」「files」「redis」フォルダを新規作成。

misskey.yaml

misskeyフォルダ内に、misskey.yamlを作成して下記をコピペ

hoge.comの部分は、お持ちのドメインを記入。

url: https://hoge.com
db:
  host: db
  port: 5432
  db: misskey
  user: misskey
  pass: misskey
redis:
  host: redis
  port: 6379
id: 'aid'
port: 3000
proxyBypassHosts:
  - api.deepl.com
  - api-free.deepl.com
  - www.recaptcha.net
  - hcaptcha.com
  - challenges.cloudflare.com
signToActivityPubGet: true

Portainer

フォルダの作成が済んだら、portainerにログイン。

Create stack

Portainer Create stack

Nameは任意で。misskeyでいいと思います。

Web editer

下記をコピペしてDeploy the stackをクリック。ビルドに時間がかかるので、気長に待ちましょう。

volume1の部分は、環境に合わせて下さい。

version: "3"

services:
  web:
    image: misskey/misskey:latest
    restart: always
    links:
      - db
      - redis
    ports:
      - "3000:3000"
    networks:
      - internal_network
      - external_network
    volumes:
      - /volume1/docker/misskey/files:/misskey/files
      - /volume1/docker/misskey/misskey.yaml:/misskey/.config/default.yml:ro
    healthcheck:
      test: ["CMD-SHELL", "/bin/bash", "/misskey/healthcheck.sh"]
      interval: 5s
      retries: 20

  redis:
    restart: always
    image: redis:latest
    networks:
      - internal_network
    volumes:
      - /volume1/docker/misskey/redis:/data

  db:
    restart: always
    image: postgres:latest
    networks:
      - internal_network
    environment:
      - POSTGRES_PASSWORD=misskey
      - POSTGRES_USER=misskey
      - POSTGRES_DB=misskey
    volumes:
      - /volume1/docker/misskey/db:/var/lib/postgresql/data

networks:
  internal_network:
    internal: true
  external_network:

完了したら、ポート番号3000番でアクセスできます。DSMのIPアドレスが「192.168.0.100」 の場合、「192.168.0.100:3000」になります。

リバースプロキシ

ドメインでアクセスする場合は、DSMのリバースプロキシを使いましょう。

Synology DSM リバースプロキシ

一人で使うもよし。他のユーザーを登録できるようにしてもよし。今回DS918+で構築してみましたが、それなりに動作しています。リレーを複数追加すると、反応しなくなることがあるのでご注意下さい。

Misskey アップデート方法

watchtowerを入れていれば、勝手に更新してくれる。

または、Portainerからmisskey-webコンテナ内で手動更新も可。

Portainer Recreate
よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次