Embedded Replicas on Fly
Deploy a JavaScript app using Turso embedded replicas to Fly.io.
Prerequisites
Before you start, make sure you:
Locate your application
You should have an application ready using your Turso database that you want to deploy to Fly.
Launch with Fly
Using the Fly CLI, launch it:
fly launch
Your application will automatically deploy to Fly, but we’re not ready yet.
Create a shared volume
Now create a volume that will be used to store the embedded replica(s):
fly volumes create libsql_data
Mount and configure volumes
The files fly.toml
and Dockerfile
created created when you launched previously.
Update fly.toml
this file to mount the new volume:
[[mounts]]
source = "libsql_data"
destination = "/app/data"
Then inside Dockerfile
, make sure you install and update ca-certificates
:
RUN apt-get update -qq && \
apt-get install -y ca-certificates && \
update-ca-certificates
Make sure to also add the following line after any COPY
commands to copy the certificates:
COPY /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
Configure the libSQL client
You will want to change the url
to point to a local file, and set the syncUrl
to be your Turso database URL:
import { createClient } from "@libsql/client";
const client = createClient({
url: "file:./local.db",
syncUrl: process.env.TURSO_DATABASE_URL,
syncToken: process.env.TURSO_AUTH_TOKEN,
syncInterval: 60000,
});
Deploy your updated app
fly deploy
Was this page helpful?