Speedrun: 앱에 LiteFS 추가하기
이 가이드는 Fly.io에서 앱을 최대한 빨리 LiteFS와 함께 실행할 수 있게 도와줘요. 중간에 어려움이 생기거나 더 자세한 내용, 더 천천한 진행이 필요하다면 Getting Started 문서를 확인해 보세요. 프레임워크별 문서에서 fly launch가 LiteFS를 지원하는지도 살펴볼 수 있습니다.
출처: 문서
본문
이 가이드는 앱을 가능한 한 빨리 Fly.io의 LiteFS와 함께 실행할 수 있게 해 줍니다. 이 가이드에서 문제가 생기거나 더 자세한 내용, 더 천천한 진행을 원한다면 Getting Started 문서를 확인하세요.
프레임워크가 fly launch에서 LiteFS를 지원하는지 프레임워크 문서를 살펴볼 수도 있습니다.
시작해 볼게요!
1. litefs.yml 구성하기
litefs-example 저장소에서 샘플 litefs.yml 파일을 복사하고 다음을 수정하세요:
proxy.target의8081을 앱이 수신 대기하는 포트로 변경exec[0].cmd를 앱을 실행하는 명령으로 변경
2. Dockerfile 업데이트하기
LiteFS 의존성을 설치하세요:
# for alpine-based images
RUN apk add ca-certificates fuse3 sqlite
# or for debian/ubuntu-based images
RUN apt-get update -y && apt-get install -y ca-certificates fuse3 sqlite3
LiteFS 바이너리를 복사하세요:
COPY --from=flyio/litefs:0.5 /usr/local/bin/litefs /usr/local/bin/litefs
ENTRYPOINT(또는 CMD)를 업데이트하세요:
ENTRYPOINT litefs mount
3. Fly 플랫폼에 설정 & 배포하기
볼륨을 생성하세요:
fly volumes create litefs --size 10
앱 구성을 만들되 배포하지 마세요 (물어보면 No라고 답하세요):
fly launch
consul을 구성하세요 (이렇게 하면 앱에 FLY_CONSUL_URL 시크릿이 설정되며, LiteFS 임대에 필요합니다):
fly consul attach
볼륨을 마운트하도록 fly.toml 파일을 업데이트하세요:
[mounts]
source = "litefs"
destination = "/var/lib/litefs"
앱을 배포하세요:
fly deploy
짜잔! 이제 (아마도) LiteFS로 실행되는 앱이 생겼을 거예요! 문제가 있다면 Fly 커뮤니티에서 도움을 요청할 수 있습니다.
4. 다른 지역에 복제본 추가하기
노드 하나만 실행한다면 LiteFS는 그렇게 유용하지 않아요. 그래서 다른 지역에 노드를 더 추가해 보세요!
# Add a clone in London
fly m clone --select --region lhr
# Add a clone in Sydney
fly m clone --select --region syd