AWS에서 마스트돈 인스턴스 구축
마스트돈 인스턴스를 세웠다.
근육 트레이닝이나 다이어트에 관한 커뮤니티가 되면 좋다고 생각해 근육 인스턴스를 세웠습니다.
Muscledon
AWS의 무료 기간이 끝나므로 폐쇄했습니다.
AWS에서 마스트돈을 세우기
라고 하는 기사를 쓸까라고 생각했지만 이미 완벽한 순서가 있었다. 같은 내용의 기사는 플라라!
마스트돈 AWS 구축 튜토리얼 정식 버전 | 초보자부터 대규모 운영까지
그렇다고는 해도 이 기사대로 진행하고 있는 사이에 걸린 곳이 있으므로 해결법을 제시한다.
docker-compose build에 실패한다.
apt-get으로 docker를 넣으면 버전이 오래되어 build에 실패합니다.
새로운 버전의 docker 및 docker-compose를 넣는 방법은 아래의 형의 기사를 참고해 주었으면 한다.
Docker 및 Docker Compose 설치
docker-compose build에 실패한다.
상기의 대응을 실시해도 이하와 같은 에러로 실패해 버렸다.
ERROR: https://nl.alpinelinux.org/alpine/edge/main: operation timed out
WARNING: Ignoring APKINDEX.65bdaf85.tar.gz: No such file or directory
OK: 21 MiB in 29 packages
WARNING: Ignoring APKINDEX.65bdaf85.tar.gz: No such file or directory
WARNING: The repository tag for world dependency 'nodejs@edge' does not exist
WARNING: The repository tag for world dependency 'nodejs-npm@edge' does not exist
WARNING: The repository tag for world dependency 'imagemagick@edge' does not exist
ERROR: Not committing changes due to missing repository tags. Use --force to override.
ERROR: Service 'streaming' failed to build: The command '/bin/sh -c echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && BUILD_DEPS=" postgresql-dev libxml2-dev libxslt-dev python build-base" && apk -U upgrade && apk add $BUILD_DEPS nodejs@edge nodejs-npm@edge git libpq libxml2 libxslt ffmpeg file imagemagick@edge ca-certificates && npm install -g npm@3 && npm install -g yarn && update-ca-certificates && rm -rf /tmp/* /var/cache/apk/*' returned a non-zero code: 255
원인으로는 *.alpinelinux.org의 서버가 다운되어 있기 때문이다.
이 기사를 쓰고 있는 현재 2017/05/05 20:00도 액세스 할 수 없는 상태가 되고 있다.
2017/05/05 22:40 현재 부활하고 있다.
htps : // A l pinne x. rg/
리포지토리의 방향을 alpine의 CDN으로 변경하면 된다.
clone 온 mastodon 디렉토리 바로 아래에 있는 Dockerfile을 편집한다.
Dockerfile- RUN echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \
+ RUN echo "@edge http://alpine.gliderlabs.com/alpine/edge/main" >> /etc/apk/repositories \
사용자 수가 0명으로 표시된다.
왜인지 「이 인스턴스에 대해」의 유저수가 0명으로 표시되고 있었다.
원인은 Mastodon 앱과 DB의 시간대가 다르기 때문이었다.
DB는 일본 시간이었지만 EC2 인스턴스는 UTC였으므로 일본 시간에 맞춘다.
mastodon/config/application.rb- # config.time_zone = 'Central Time (US & Canada)'
+ config.time_zone = 'Tokyo'
HTTP/2에 대응시킨다.
nginx에서도 괴롭히고 HTTP/2에 대응시켜 줄까!
라고 생각하면 이미 HTTP/2가 되어 있었다. 아무래도 AWS의 로드 밸런서에서 application을 선택하면 HTTP/2가 되는 것 같다.
사이트의 관리 화면을 낸다.
여기 에 써 있는 대로인데,
우선 유저를 만들어(여기에서는 alice라고 하는 유저로 하자) 메일 인증을 끝낸다.
그리고 다음 명령을 입력합니다.
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=alice
그럼 잘 못했다.
대신
sudo docker-compose run --rm web rails mastodon:make_admin USERNAME=alice
그럼 잘 갔다.
mastodon의 daily task를 추가한다.
여기 의 형님이 쓰고 있는 대로 mastodon:daily
를 실행하지 않으면
국교를 단절되어 버린 것 같다. cron에 작업 추가
Postgres Redis 스토리지를 분리합니다.
투고 이미지, 동영상을 S3에 저장하도록 변경한다.
여기 의 형님의 방식에 따라 작업하면 된다.
그러나 S3을 사용하는 경우 다음 설정이 필요하지 않습니다 (검증 됨)
S3 대신에 다른 서버를 사용하는 경우는 필요하다.
.env.production# S3_PROTOCOL=
# S3_ENDPOINT=
mastodon은 계속 변화할 수 있는 짐승
mastodon의 Github를 보면 최종 커밋이 몇 시간 전이거나 한다.
수시로 변화하고 있기 때문에 조금 버그한다. 2회 정도 구축해 보았지만, 1회째는 관리 화면에서 사이트의 편집을 할 수 없었지만, 2회째는 할 수 있게 되었다.
지금까지 Clone하는 타이밍에 따라 꽤 거동이 바뀌는 것 같다.
라든지 UC인 기분에 잠겨 있으면 공식적으로 이렇게 썼다.
Please note: It is highly recommended to run a tagged release of Mastodon and not run off the current master branch.
번역 : 잘못해도 Master의 브랜치에서 클론 뭔가 잖아요.
Reference
이 문제에 관하여(AWS에서 마스트돈 인스턴스 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/TakuyaS/items/5c6ed1adab2d0e10d36c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
라고 하는 기사를 쓸까라고 생각했지만 이미 완벽한 순서가 있었다. 같은 내용의 기사는 플라라!
마스트돈 AWS 구축 튜토리얼 정식 버전 | 초보자부터 대규모 운영까지
그렇다고는 해도 이 기사대로 진행하고 있는 사이에 걸린 곳이 있으므로 해결법을 제시한다.
docker-compose build에 실패한다.
apt-get으로 docker를 넣으면 버전이 오래되어 build에 실패합니다.
새로운 버전의 docker 및 docker-compose를 넣는 방법은 아래의 형의 기사를 참고해 주었으면 한다.
Docker 및 Docker Compose 설치
docker-compose build에 실패한다.
상기의 대응을 실시해도 이하와 같은 에러로 실패해 버렸다.
ERROR: https://nl.alpinelinux.org/alpine/edge/main: operation timed out
WARNING: Ignoring APKINDEX.65bdaf85.tar.gz: No such file or directory
OK: 21 MiB in 29 packages
WARNING: Ignoring APKINDEX.65bdaf85.tar.gz: No such file or directory
WARNING: The repository tag for world dependency 'nodejs@edge' does not exist
WARNING: The repository tag for world dependency 'nodejs-npm@edge' does not exist
WARNING: The repository tag for world dependency 'imagemagick@edge' does not exist
ERROR: Not committing changes due to missing repository tags. Use --force to override.
ERROR: Service 'streaming' failed to build: The command '/bin/sh -c echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && BUILD_DEPS=" postgresql-dev libxml2-dev libxslt-dev python build-base" && apk -U upgrade && apk add $BUILD_DEPS nodejs@edge nodejs-npm@edge git libpq libxml2 libxslt ffmpeg file imagemagick@edge ca-certificates && npm install -g npm@3 && npm install -g yarn && update-ca-certificates && rm -rf /tmp/* /var/cache/apk/*' returned a non-zero code: 255
원인으로는 *.alpinelinux.org의 서버가 다운되어 있기 때문이다.
이 기사를 쓰고 있는 현재 2017/05/05 20:00도 액세스 할 수 없는 상태가 되고 있다.
2017/05/05 22:40 현재 부활하고 있다.
htps : // A l pinne x. rg/
리포지토리의 방향을 alpine의 CDN으로 변경하면 된다.
clone 온 mastodon 디렉토리 바로 아래에 있는 Dockerfile을 편집한다.
Dockerfile
- RUN echo "@edge https://nl.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \
+ RUN echo "@edge http://alpine.gliderlabs.com/alpine/edge/main" >> /etc/apk/repositories \
사용자 수가 0명으로 표시된다.
왜인지 「이 인스턴스에 대해」의 유저수가 0명으로 표시되고 있었다.
원인은 Mastodon 앱과 DB의 시간대가 다르기 때문이었다.
DB는 일본 시간이었지만 EC2 인스턴스는 UTC였으므로 일본 시간에 맞춘다.
mastodon/config/application.rb
- # config.time_zone = 'Central Time (US & Canada)'
+ config.time_zone = 'Tokyo'
HTTP/2에 대응시킨다.
nginx에서도 괴롭히고 HTTP/2에 대응시켜 줄까!
라고 생각하면 이미 HTTP/2가 되어 있었다. 아무래도 AWS의 로드 밸런서에서 application을 선택하면 HTTP/2가 되는 것 같다.
사이트의 관리 화면을 낸다.
여기 에 써 있는 대로인데,
우선 유저를 만들어(여기에서는 alice라고 하는 유저로 하자) 메일 인증을 끝낸다.
그리고 다음 명령을 입력합니다.
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=alice
그럼 잘 못했다.대신
sudo docker-compose run --rm web rails mastodon:make_admin USERNAME=alice
그럼 잘 갔다.
mastodon의 daily task를 추가한다.
여기 의 형님이 쓰고 있는 대로
mastodon:daily
를 실행하지 않으면국교를 단절되어 버린 것 같다. cron에 작업 추가
Postgres Redis 스토리지를 분리합니다.
투고 이미지, 동영상을 S3에 저장하도록 변경한다.
여기 의 형님의 방식에 따라 작업하면 된다.
그러나 S3을 사용하는 경우 다음 설정이 필요하지 않습니다 (검증 됨)
S3 대신에 다른 서버를 사용하는 경우는 필요하다.
.env.production# S3_PROTOCOL=
# S3_ENDPOINT=
mastodon은 계속 변화할 수 있는 짐승
mastodon의 Github를 보면 최종 커밋이 몇 시간 전이거나 한다.
수시로 변화하고 있기 때문에 조금 버그한다. 2회 정도 구축해 보았지만, 1회째는 관리 화면에서 사이트의 편집을 할 수 없었지만, 2회째는 할 수 있게 되었다.
지금까지 Clone하는 타이밍에 따라 꽤 거동이 바뀌는 것 같다.
라든지 UC인 기분에 잠겨 있으면 공식적으로 이렇게 썼다.
Please note: It is highly recommended to run a tagged release of Mastodon and not run off the current master branch.
번역 : 잘못해도 Master의 브랜치에서 클론 뭔가 잖아요.
Reference
이 문제에 관하여(AWS에서 마스트돈 인스턴스 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/TakuyaS/items/5c6ed1adab2d0e10d36c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# S3_PROTOCOL=
# S3_ENDPOINT=
mastodon의 Github를 보면 최종 커밋이 몇 시간 전이거나 한다.
수시로 변화하고 있기 때문에 조금 버그한다. 2회 정도 구축해 보았지만, 1회째는 관리 화면에서 사이트의 편집을 할 수 없었지만, 2회째는 할 수 있게 되었다.
지금까지 Clone하는 타이밍에 따라 꽤 거동이 바뀌는 것 같다.
라든지 UC인 기분에 잠겨 있으면 공식적으로 이렇게 썼다.
Please note: It is highly recommended to run a tagged release of Mastodon and not run off the current master branch.
번역 : 잘못해도 Master의 브랜치에서 클론 뭔가 잖아요.
Reference
이 문제에 관하여(AWS에서 마스트돈 인스턴스 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/TakuyaS/items/5c6ed1adab2d0e10d36c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)