moxt

Just another Blog site

Mastodonインスタンス(お一人様用)を作り方メモ

   

Mastodonは運営の存在を気にせず罵詈雑言吐けるの便利そう。
自分用のインスタンス作ったので、便所の落書きしておく。

用意するもの

  • ドメイン(私はサブドメインを使った)
  • サーバー(私はDigitalOceanの1番安いヤツを使った)

事前にやっておくこと

  • DNSレコードの設定(やればできる)
  • 手元のPCでDocker環境を作っておく(docker-machine,docker-composeを使う)
  • Dockerの使い方を知っておく(知ってるよね)

Dockerで雑にMastodonを起動する方法 とか読めばOK

作り方

Dockerで雑にMastodonを起動する方法

http://qiita.com/sawanoboly/items/c7d6b913fd5455fb0f36

https://github.com/tootsuite/mastodon#running-with-docker-and-docker-compose

↑この辺見れば終わり

流れをダラダラ書くと…

  • docker-machineでリモート環境(今回はDigitalOcean)にDocker環境を整える
    • docker-machine create –driver digitalocean –digitalocean-access-token=[あなたのアクセストークン] [任意のマシン名]
    • しょぼいサーバーだとメモリ不足してちょいちょい困るのでswap作っておくと良いと思います
  • mastodonをcloneする
  • docker-compose build する
  • .env.production を作る
    • docker-compose run –rm web rake secret を3回やって、.env.productionのPAPERCLIP_SECRET、SECRET_KEY_BASE、OTP_SECRETを埋める
    • LOCAL_DOMAINやらを自分用の値に変える
  • RailsアプリのDB初期化やら、アセットのプリコンパイルをする
    • docker-compose run –rm web rails db:migrate
    • docker-compose run –rm web rails assets:precompile
  • docker-compose up -d でコンテナたちを起動する
  • http://[あなたのドメイン]:3000/about でサインアップする
  • アカウントのメール認証は面倒なのでコマンドやる
  • お一人様インスタンスにしたいので .env.production のSINGLE_USER_MODEってヤツをtrueにして再度、docker-compose up -d
  • httpsできるようにする(今回はレッツエンクリプトでやったよ)
  • nginxの設定をdocker-compose.ymlに追加する

と、上記の参考URLの通りやってるだけなので、なんの知見もない。

公式の解説だとnginxの設置だけリモートサーバーでお手製でやってた。
面倒なのでdockerで用意するようにした。

nginxの設定をdocker-compose.ymlに追加する

↓のようなカンジのヤツを追加する

コンテナ関係のファイルを何も考えずにダラダラ置いていくとコンテナ増えたときにカオスになる。
というわけでcontainersフォルダを作り、ミドルウェア毎にフォルダを作った。
↑こういうことをしてしまったので、contextを使ってnginxコンテナの設定が置いてある場所を明記する必要があるわけ。
dockerfileは省略してもOK

Dockerfileはこんなカンジ

production_projectはこんなカンジ

ここをパクってるだけ

nginx.confはこんなカンジ

 - プログラミング

336px




336px




  • このエントリーをはてなブックマークに追加
  • follow us in feedly

  関連記事