ConoHaのVPSでMastodonインスタンスを作る

久しぶりに書く気になったので。今流行のMastodonの作り方です。

こんな人向けを想定してます
・Debian/Ubuntuでサーバー建ててる
・VPSやドメインを持ってる
・Apache使いである(Nginx分からないのです)

環境はこんな感じで
・VPSはConoHa
・Ubuntu 16.04 LTSをインストール
・メールサーバーがConoHaのアプリケーションサーバー

では手順の方を

Certbot、Apache、Gitが入っていない人は入れておいてください
Certbotはletsencryptパッケージで入ります

  • Docker-EngineとDocker-Composeをインストール
    aptでインストールするとバージョン古いので、build通りません。公式レポジトリから新しいのを入れます。

鍵を追加したらレポジトリを追加

そしたらdocker-ceパッケージを入れておきます

次はdocker-composeをインストール

https://github.com/docker/compose/releases/
で最新リリースをチェックしておきます。(2017/05/05では1.13.0)

VERSIONは最新リリースのバージョンに書き換えてください。

  • Mastodonをクローンする
    /var/www/mastodonに置くこととしてますが適宜変えてください。
    あと、最新のコミットにすると色々面倒になるかも思います。

cloneが終わったら設定ファイルを作ります

テンプレをコピーしたら適当なエディタで開きます

L12
LOCAL_DOMAIN=”動かすドメイン名”

L40~
SMTP_SERVER=”コンパネで見られるsmtpサーバー”
SMTP_PORT=587
SMTP_LOGIN=”作ったアドレス”
SMTP_PASSWORD=”設定したパス”
SMTP_FROM_ADDRESS=”作ったアドレス”
L49コメントインして
SMTP_OPENSSL_VERIFY_MODE=none

ここで一旦保存して、docker-compose.ymlを編集。
L8,9,15,16をコメントインします。

ここまで来たらイメージを作ります

終わったら、.env.productionのL21-23に使うシークレットを生成します

を3回実行して貼り付けます。

終わったらDBの生成とアセットのプリコンパイルをします

では起動しましょう

とりあえずの動作チェック

異常がなければ一瞬で終わるはずです

設定ファイルのサンプルがあるのでこれを参考にDocumentRootやらを書き換えます。
あと、proxy_wstunnelのModを有効にしろとあるのでa2enmodで有効にします。
SSLの証明書はcertbotで取ります。

次にアカウントを登録してメール認証を通します。管理者になるには

cronも設定します。設定しとかないとインスタンス間の接続が切れたり、マッハでディスクフルになったりとろくなことがないです。

24 25 4,17 * * * /bin/bash -l -c ‘cd /var/www/mastodon && docker-compose run –rm web rake mastodon:daily’
25 45 4,17 * * * /bin/bash -l -c ‘cd /var/www/mastodon && docker-compose run –rm web rake mastodon:media:remove_remote’

  • アップデート
    アップデートしたい時は

とりあえずこんな感じで。あと、これ書いている間にアップデートかけたら手順を間違えてDB飛びました。下手な運用すると大惨事です。気をつけましょう。(あと間違えてDockerでDownしたりとかもしないように)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です