Web Dictaphone, adapted for fly.io
This is a fork of mdn/dom-examples/media/web-dictaphone, with the following additions:
- Active Record with a PostgreSQL database to persist an ordered list of clips
- Active Storage with a Tigris bucket for storing audio files
- Turbo Stream with Upstash Redis db and WebSockets for broadcasting updates
With these changes multiple replicas of this application can be deployed, even in multiple regions.
When WHISPER_URL
is set:
- Clips that are stored in S3 Tigris will be sent to the Cog Whisper application for transcription.
- Transcription results will be stored in the PostgreSQL database.
- Database updates will be broadcast to all connected clients.
In an empty directory, run:
fly launch --from https://github.com/fly-apps/rails-dictaphone.git
If you visit this application, you will see a standard web dictaphone example.
To create additional machines in other regions, run:
fly scale count 3 --region dfw,waw,syd
Note: By default, all machines will be configured to automatically stop and start.