自宅でMastodonを動かすには
必要なもの
- 光回線のルーター(HGW)
- 「ポート開け」ができればOK
- なのでNTTとかのレンタルでもOK
- Softbank Airとか、部屋備え付けのLANポートは無理
- LinuxにしていいPC
- メモリとかストレージとか、レンタルサーバーではできないもりもりスペックでヨソと差をつけよう
- バックアップ用外付けUSBHDD
- Mastodon使用量の7倍(7回分バックアップを想定)くらいあればいい
- ドメインかDDNSでサブドメインを分けてもらう
- Githubアカウントもたぶんいることになる
- 丼をカスタムしたらそのコードは公開する必要があるため
必要な知識
- ポートあけ
- Linux(Ubuntu)
- SSH
- ファイアウォール(ufw)
- Dockerの最小限のやつ
- git
必要ないものごと(個人の感想です)
- 無停電装置(UPS)
- ノートPCでの運用
- 停電リスクができるけど、バッテリーは使わんほうが多分いい
- バッテリー管理のコストが重いため
PCにLinuxを入れる
LinuxにDockerを入れる
- sudo apt install docker-io docker-compose
Mastodonを入れてセットアップ
Webサーバーをセットアップ
動かす
日々の手入れ
OSアップデート
丼アップデート
- publicディレクトリとその中身の所有権を991:991にする
- git fetch ; git rebase -i v4.1.2(ここはバージョン番号のタグ名)
- publicディレクトリとその中身の所有権をもとに戻す(たいてい自分のユーザー名)
- リリースノートに指示があればdbのmigrate
- docker-compose down ; docker-compose up -d
バックアップ
- 最低限取るもの
- DBのダンプ
- public/
- .env.production
- 取得する世代数
- バックアップスクリプトの例(これをcrontabにつっこんで毎日夜辺りに取ったりする)
BACKUP_DIR=/home/akkie/backup/kokudahaiku
WOD=$(date +%a)
mkdir -p $BACKUP_DIR/${WOD}
rsync -a /home/akkie/kokuda-haiku/docker-compose.yml $BACKUP_DIR/${WOD}/kokuda-haiku/
rsync -a /home/akkie/kokuda-haiku/.env.production $BACKUP_DIR/${WOD}/kokuda-haiku/
docker-compose -f /home/akkie/kokuda-haiku/docker-compose.yml exec db pg_dump -Fc -U postgres postgres > $BACKUP_DIR/${WOD}/kokuda-haiku/dump.psql