StuntProgrammer

StuntProgrammer

Media Storage and CDN with Phoenix and Elixir

In building lofi.limo, media storage and distribution naturally came up. I have songs, announcements, and background image loops which I want to store and distribute to listeners. Let’s take a look at how I’ve been able to do both without getting too fancy or spending too much money.

Most Liked

StuntProgrammer

StuntProgrammer

It seems to be. Is it giving you trouble?

AntonRich

AntonRich

@StuntProgrammer thank you for mentioning Tarsnap - is a storage where you pay for what you use. I might be using it in the future.

I have a question about them.

There are no other fees — Tarsnap has no fixed costs or minimum monthly fees.

You pay for what you use, nothing more.

So if I upload a 1gb movie there, I will pay just for 1gb storage once without a monthly fee?
But I will also pay when downloading the file?

StuntProgrammer

StuntProgrammer

There’s no /minimum/ monthly fee. There are charges for transfer in and out as well as for storage. In the scenario you describe, you’d pay for the upload, the download, and for storage as long as the data is in Tarsnap.

Transfer is billed by the byte (currently $0.00000000025/byte) and storage by the byte-month (currently $0.00000000025/byte-month).

So for your example, you’d pay $0.25 for the upload, $0.25 for the download, and $0.25 for each month the data is stored (supposing a GB is 1,000,000,000 bytes).

Where Next?

Popular Backend topics Top

dimitarvp
Apparently he decided to live-stream how he’s going to create a semver library.
New
New
AstonJ
If you’re interested in Rust this is worth a read :smiley: Technology from the past come to save the future from itself Hi I have be...
New
First poster: bot
In this post we’re going to be looking at a more advanced use of Gleam’s type system, known as phantom types. Hopefully by the end of thi...
New
First poster: dimitarvp
I’ve spent the last year building keyboards, which has included writing firmware for a variety custom circuit boards. I initially wrote ...
New
First poster: bot
Just a small test with lists in cython. Considering echosystem, multithreading and ease of use, Julia is a clear winner here.
New
First poster: bot
PHP 8.1 is already taking shape quite well, yet there’s one feature I’d love to see added, that’s still being discussed: multi-line short...
New
elbrujohalcon
A long time ago, I wrote an article about The Asymmetry of ++, thanks to Fede Bergero’s findings. Let’s add a few more asymmetries to th...
New
elbrujohalcon
Erlang is famous for its introspecting powers. You can get a lot of information about the processes running in your nodes without any ext...
New
wolf4earth
Tej Pochiraju joins the mix to discuss Progressive Web Apps and how you can support them using Elixir and Phoenix to control IoT devices....
New

Other popular topics Top

DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
New
PragmaticBookshelf
Create efficient, elegant software tests in pytest, Python's most powerful testing framework. Brian Okken @brianokken Edited by Kat...
New
gagan7995
API 4 Path: /user/following/ Method: GET Description: Returns the list of all names of people whom the user follows Response [ { ...
New
AstonJ
If you want a quick and easy way to block any website on your Mac using Little Snitch simply… File > New Rule: And select Deny, O...
New
New
PragmaticBookshelf
Get the comprehensive, insider information you need for Rails 8 with the new edition of this award-winning classic. Sam Ruby @rubys ...
New
NewsBot
Node.js v22.14.0 has been released. Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New
RobertRichards
Hair Salon Games for Girls Fun Girls Hair Saloon game is mainly developed for kids. This game allows users to select virtual avatars to ...
New