Mastodon의 이동을 진행했습니다.

자사 서버에서 실행되던 마스토돈(가입자 수 약 160명·30만 투트 정도)이 VPS로 넘어갔기 때문에 이 메모는
이전 서버가 Docker 컨테이너에서 실행
새 서버는 호스트 OS를 사용하여 실행됩니다.
*자신이 쓰는 메모라서 지령을 자세히 쓰지 않는다.정상 가동 여부는 확인되지 않았다.

PostgreSQL의 덤프


옮기는 과정에서 타투를 당하면 일관성을 얻지 못하기 때문에 일단 매스토돈을 떨어뜨렸다.
$ docker-compose run --rm db /bin/bash
$ pg_dump -d $DB_NAME -f /var/lib/postgresql/data/mastodon.sql
/var/lib/postgresql/data/mastodon.dump의 위치에 놓인 것은 용기에 볼륨이 설치된 위치/var/lib/postgresql/data/였기 때문이다.$MASTODON_DIR/postgres/mastodon.sql 호스트에서 액세스 가능

PostgreSQL의 씨름꾼


좀 막혔어.
rails의 경우 RAILS_ENV=production bundle exec rails db:create 한 후에 pg_restore Rails를 치지 않으면 Migration이 없다는 것을 식별할 수 있다.
$ RAILS_ENV=production bundle exec rails db:create
$ psql $DB_NAME < mastodon.sql
$ sudo systemctl restart mastodon-web mastodon-sidekiq mastodon-streaming

자산 동기화


자산 파일을 동기화합니다.
rsync에서 SSH로 동기화합니다.
$ rsync  -ahv --progress $MASTODON_DIR/public/system/* $REMOTE_SERVER_NAME:/home/mastodon/live/public/system/ --max-size=10M
여기서 목적지 서버를 전송하는 디렉터리/home/mastodon/live/public/system/의 소유자를 SSH 목적지 사용자로 설정하지 않으면 쓰기 가능한 권한을 설정해도 오류가 발생하여 전송할 수 없습니다.

DNS 레코드 등의 변경 사항


기록을 변경하다.
내 경우 집 서버는 5분마다 클라우드 플레이어 DNS의 API를 쳐서 IP를 업데이트하는DDNS를 만들어야 한다. 이럴 때cron의 작업을 잘 삭제해야 한다.

좋은 웹페이지 즐겨찾기