본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Speedrun: 앱에 LiteFS 추가하기

원문 보기 위키 갱신

이 가이드는 Fly.io에서 앱을 최대한 빨리 LiteFS와 함께 실행할 수 있게 도와줘요. 중간에 어려움이 생기거나 더 자세한 내용, 더 천천한 진행이 필요하다면 Getting Started 문서를 확인해 보세요. 프레임워크별 문서에서 fly launch가 LiteFS를 지원하는지도 살펴볼 수 있습니다.

출처: 문서

본문

이 가이드는 앱을 가능한 한 빨리 Fly.io의 LiteFS와 함께 실행할 수 있게 해 줍니다. 이 가이드에서 문제가 생기거나 더 자세한 내용, 더 천천한 진행을 원한다면 Getting Started 문서를 확인하세요.

프레임워크가 fly launch에서 LiteFS를 지원하는지 프레임워크 문서를 살펴볼 수도 있습니다.

이 가이드는 앱에 동작하는 `Dockerfile`이 이미 있다고 가정합니다. 아직 없다면 (일반 sqlite로) 먼저 그걸 만들고 나서 다시 돌아오세요!

시작해 볼게요!

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

다음 단계

LiteFS 클러스터를 백업하세요.

더 알아보기 (Learn more)