今日から素直で可愛げのある駆け出しのインフラエンジニアになる。
なので、sshログイン後きちんとscreenでセッションを保存してから作業を始める。
https://qiita.com/hnishi/items/3190f2901f88e2594a5f
$ screen
まず前回やった作業の記憶を呼び覚ますために
ユーザーを切り替えてhistory見つつ何をするか思い出す。
$ sudo su -
$ sudo su mastodon
$ cd /home/mastodon/live/
アセットコンパイルからだった。
$ RAILS_ENV=production bundle exec rails assets:precompile
yarn install v1.21.1
[1/6] Validating package.json…
[2/6] Resolving packages…
[3/6] Fetching packages…
CPUが張り付きました。
メモリ使用量を見ようにも
$ free
コマンドが打てない。
無料枠で何とかしたいので
t2.microで出来るだけやってみる😢
OSSで詰んだらソースを読むタイムだよ。
ファイルやディレクトリ総当りをしながら
それっぽいものを探す作業です。jsに発狂してきたら水を飲んで落ち着こう。
https://github.com/tootsuite/mastodon/blob/master/config/webpack/configuration.js
↑最後の方にoutputという単語を見つけた。
逆算してpublic_output_path
=> webpacker.yml
の行方を追います。
public配下のpacksっぽいことが判明した。
打開策としてDocker内の
/opt/mastodon/public/packs
をボリュームマウントしてホストに移動させて
そのまま圧縮してEC2に送る作戦でいきます。
**ローカルで作業
**イメージをDockerHubで見つけてきたのでpull
$ docker pull tootsuite/mastodon:v2.9.3
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tootsuite/mastodon v2.9.3 ca1472193a01 6 months ago 1.47GB
起動させつつボリュームをマウントしてホストと繋げる。
$ docker run -v /tmp:/tmp -it tootsuite/mastodon:v2.9.3 sh
$ pwd
/opt/mastodon
$ cd public
ディレクトリをホストマシンのtmp以下にcp
$ cp packs /tmp/ -R
tmpに移動して確認
$ cd /tmp
$ ls
packs
tarコマンドで圧縮する
$ tar -zcvf packs.tar.gz packs
$ ls
packs packs.tar.gz
scpで送る
$ scp -i ~/.ssh/**.pem packs.tar.gz ******@**.168.**.**:~/
サーバーに移動 (EC2)
$ screen
解凍する
$ tar -xzvf packs.tar.gz
public配下に移動
$ sudo mv packs /home/mastodon/live/public/
権限とか適当に整える
$ cd /home/mastodon/live/public/
$ chown -R mastodon:mastodon packs
$ service mastodon-web restart
_人人人人人人人人人人_
> 502 Bad Gateway <
 ̄Y^Y^Y^Y^Y^Y^Y^Y ̄
なんでやねん
ログの確認
$ journalctl -f
(略)
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
(略)
静的ファイルの件は解決したけれど、PostgreSQLが何かダメっぽい。一難去ってまた一難…
/home/mastodon/live$ vim .env.production
$ service mastodon-web restart
$ service mastodon-web status
● mastodon-web.service - mastodon-web
Loaded: loaded (/etc/systemd/system/mastodon-web.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2020-02-23 11:58:59 UTC; 4s ago
空腹で視界が霞んできたので、今日はここまで。
インスタンスは作業が終わったら落としておく。