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

  関連記事

no image
sudo gem install cocoapods –preしても0.36.0が使えないとき

最新のcocoapodsそのものはインストールされてる。 なので、podコマンドを実行するときに下記のようにバージョンを指定すれば一応使える。 …

no image
ファイルとかのパーミッションを再帰的に変更したい

あるディレクトリ以下全ファイルのパーミッションを再帰的に変更 chmod …

no image
goで無限ループ

しょうもないが忘れるので。。

no image
Toolbarで表示する矢印アイコンの色を変えたい

http://stackoverflow.com/questions/26788464/how-to-change-color-of-the-back-arrow-in-the-new-material-theme 動的に色を変えるイイカンジな方法が分からず困っていた。 …

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

ActionViewを使ってModelクラスの新規作成画面を作りたい。 ウェブアプリ上でModelのクラスを作成する。 …

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

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

no image
MecabをPythonから使いたい

ベイズ分類器を自分で作りたかった。 そのためには、文書を単語の集合に変換する必要がある。 …

no image
『Tutorial & Hackathon #1』をやってみる

https://pydata.tokyo/news/pydata.tokyo-tutorial-hackathon-1 タイタニックの乗客データから生存者の推定モデルを作成してる。 …

Docker Machineのメモ

随時追記する Contents1 …

no image
RubyMine(OSX)でGit操作するときのコマンド集

GITを操作系のポップアップを表示したい