New Feature: Launch Templates

Hey folks,

We’re building a tool to create and deploy apps from configurable templates. The first one is for KeyDB, a high-performance fork of redis. This template launches a high-availability cluster of KeyDB servers that you can use for storage, caching, or just about anything else you need redis for. It’s also a great option if you outgrow our builtin redis cache.

Give it a try!

  1. Launch - https://fly.io/launch/keydb
  2. Connect - redis-cli -u redis://:<keydb-password>@<app-name>.fly.dev:10000
  3. Profit

We’ll be adding more templates and configuration options soon, so stay tuned.

4 Likes

This is awesome, could have used this a few weeks ago :wink: lol

1 Like

How much size does the builtin redis cache get? Does it change based on how big your instance is?

1 Like

We don’t have any restrictions on the builtin redis cache. We’re not even charging for it right now :slight_smile:

It’s shared with all apps in the same region, so performance is variable and memory can become tight causing evictions. If redis is critical to your app we encourage you run your own. This template is a way to help you do that.

1 Like

For what it’s worth, we’re not super pleased with the shared Redis cache as a product. Most apps are better off with their own caches, even if it’s just in process. We’re experimenting with Redis/KeyDB to replace our Redis service, this template is the first little try.

2 Likes

Is there any way with the launch template to be able to edit the underlying conf for keydb? For example to tune the LFU parameters.

Templates are basically just macros for deploying apps, which means you can make changes and deploy over them!

To update keydb, you can run something like this:

git clone https://github.com/fly-apps/keydb.git fly-keydb
cd fly-keydb
# edit keydb.conf
flyctl config save -a <your-keydb-app-name>
flyctl deploy

You can also just deploy that app from scratch if you’d rather.

Perfect, thanks, I found that app, but was not sure if it was the same as the launch template, that makes it easy!

@michael @kurt Is there any more information about App templates?

I’m working on: Support for fly.io by github-actions · Pull Request #12 · joomlatools/joomlatools-pages-server · GitHub and a template / macro would be really handy to ease onboarding.

I noticed that if you have a fly.toml without a app name flyctl launch will add the custom name it creates this works already. Having the ability to further template a distributable fly.toml would be superb.