Fly에서 임베디드 레플리카
Fly에서 임베디드 레플리카 (Embedded Replicas on Fly)
Turso Cloud 임베디드 레플리카를 사용하는 JavaScript 앱을 Fly.io에 배포해 봐요. 볼륨 마운트와 libSQL 클라이언트 설정만 잘 잡으면 금방 끝나요.
출처: 문서
본문

사전 준비
시작하기 전에 다음을 확인하세요:
단계별 배포
1. 애플리케이션 준비하기
Fly에 배포할 Turso Cloud 데이터베이스를 사용하는 애플리케이션이 준비되어 있어야 해요.
2. Fly로 런치하기
Fly CLI로 앱을 런치하세요:
fly launch
애플리케이션이 자동으로 Fly에 배포되지만, 아직 준비가 끝난 건 아니에요.
3. 공유 볼륨 만들기
이제 임베디드 레플리카를 저장할 볼륨을 만드세요:
fly volumes create libsql_data
4. 볼륨 마운트 및 설정
런치할 때 만들어진 fly.toml과 Dockerfile 파일을 사용해요.
fly.toml 파일을 다음처럼 수정해 새 볼륨을 마운트하세요:
[[mounts]]
source = "libsql_data"
destination = "/app/data"
그리고 Dockerfile 안에서 ca-certificates를 설치하고 업데이트하세요:
RUN apt-get update -qq && \
apt-get install -y ca-certificates && \
update-ca-certificates
또한 COPY 명령들 뒤에 다음 줄을 추가해 인증서를 복사하세요:
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
5. libSQL 클라이언트 구성하기
url을 로컬 파일로 바꾸고, syncUrl을 Turso Cloud 데이터베이스 URL로 설정하세요:
import { createClient } from "@libsql/client";
const client = createClient({
url: "file:/app/data/local.db",
syncUrl: process.env.TURSO_DATABASE_URL,
authToken: process.env.TURSO_AUTH_TOKEN,
syncInterval: 60,
});
6. 업데이트된 앱 배포하기
fly deploy
더 알아보기 (Learn more)
- 임베디드 레플리카 소개 (Embedded Replicas) — 동작 원리와 사용법
- Koyeb에서 임베디드 레플리카 — Koyeb 배포 가이드
- Akamai에서 임베디드 레플리카 — Akamai 배포 가이드
- Fly.io CLI 설치 — flyctl 설치 방법