Skip to content

Instantly share code, notes, and snippets.

@ht164
Last active June 7, 2020 04:22
Show Gist options
  • Save ht164/45f7f993a41644aa593a3bd7b57823f2 to your computer and use it in GitHub Desktop.
Save ht164/45f7f993a41644aa593a3bd7b57823f2 to your computer and use it in GitHub Desktop.
MisskeyをDocker使って立ち上げる方法(非公式)

MisskeyをDockerを利用して立ち上げる方法

自分で実施した方法です。公式にやり方が用意されているのを知りませんでした。非公式なやり方なのでおすすめできません。

Misskey 11.32.0 で実施した方法です。バージョンが新しいとこの方法が利用できない可能性はあります。

docker hubにMisskeyのイメージがあったので、それを利用する方法です。イメージは自前でビルドしません。

また、構築はリバースプロキシパターン(nginxがリクエストを受けて裏にいるDocker上のMisskeyに転送)です。

手順

docker-compose.yml を用意

version: "3" 

services:

  web:
    restart: always
    image: misskey/misskey:11.32.0
    environment:
      NODE_ENV: "production"
    ports:
      - "7000:3000"
    networks:
      - external_network
      - internal_network
    volumes:
      - ./config:/misskey/.config
    depends_on:
      - db
      - redis

  redis:
    restart: always
    image: redis:5.0-alpine
    ports:
      - "6379:6379"
    networks:
      - internal_network
    volumes:
      - ./redis:/data

  db: 
    restart: always
    image: postgres:10-alpine
    networks:
      - internal_network
    volumes:
      - ./postgres:/var/lib/postgresql/data

networks:
  external_network:
  internal_network:
    internal: true

ディレクトリ作成

DBやRedisのデータを永続化するため、上記のdocker-compose.ymlではローカルにあるディレクトリ(postgres, redis)を利用するように書いてあります。 そのディレクトリを作成しておきます。

default.yml(Misskeyの設定ファイル)を用意

Misskeyの .config/example.yml を取得し、それを元に作成します。ファイルは config/default.yml に置きます。

example.yml から下記を修正。

url: MisskeyのサイトのURL
...
port: 3000
...
db:
  host: db
...
redis:
  host: redis

この他、dbのユーザ名、パスワードも変更してもいいと思います。

DBに入ってユーザ作成

Misskeyで利用するDBユーザ、データベースを作成します。 最初から存在するpostgresユーザをMisskeyで利用する場合は、この手順は不要と思われます。

$ docker-compose exec db /bin/bash
# psql -U postgres
postgres=# create user "default.yml記載のDBユーザ" password 'default.yml記載のDBユーザのパスワード';
postgres=# create database "default.yml記載のデータベース名";
postgres=# \q
# exit

DB初期化

$ sudo docker-compose run --rm web yarn run init

Misskey起動

$ sudo docker-compose up -d

7000番ポートでの待受が始まりますので、nginxがそこにリバースプロキシとしてリクエストを転送するように設定しておきます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment