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はこんなカンジ

 - プログラミング

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

  関連記事

no image
YosemiteでRubyMineが起動できない

yosemiteからjavaが1.7系になってる。 一方、rubymineは1.6系を想定している。 …

logo_og
ReactなComponent同士を連携させたい

実践的なサンプルに塗れてなんとなく使ってると破綻する。 分かってること、分かってないことを整理しておきたい。 …

logo_og
ReactとFluxとReduxについて順を追って整理する

書き途中 Contents1 …

no image
アプリ起動時に呼び出すStoryboardを指定したい

google-fu不足でどこにも載ってなかったのでメモ。 プロジェクト内のInfo.plistで設定できます。 …

300px-Ruby_logo
nokogiriでスクレイピングするときによく忘れるヤツ集

書くことで記憶を定着させる施術。 class,id以外の属性を指定してタグを探したい …

no image
Bower再入門

Contents1 Bowerとは何なのか2 …

no image
意識低いRuby on Rails再入門4

下記の内容を読んでテスト系の処理をすっ飛ばしたメモ。 http://railstutorial.jp/chapters/sign-in-sign-out?version=4.0#top …

300px-Ruby_logo
Ruby,Railsのチートシート

こういうのブログ形式じゃなくてwikiの方が良いのでは。。 と、遠い目をしつつ。 …

large_v
Dockerでよく使うコマンド

随時追加 Contents1 …

no image
Macでdocker系のコマンドが使えなくなったら確認すること

OSXではdockerは使えないため、別にVMを立ち上げ、そこでdockerを動かしてる。 macからdockerコマンドを使うためにboot2dockerというコマンドを使う。 …