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

New
First poster: bot
Such inflammatory, much wow. Unfortunately, Haskell itself agrees. Some languages naturally lend themselves towards adoption. Some don’t...
New
First poster: bot
Why Zig When There is Already C++, D, and Rust? No hidden control flow No hidden allocations First-class support for no standard library...
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
CommunityNews
Idioms for the D Programming Language This thread was posted by one of our members via one of our news source trackers.
New
First poster: bot
It’s easy to view yourself as “not a real programmer.” There are programs out there that everyone uses, and it’s easy to put their develo...
/c
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
AstonJ
Not had time to read it yet but this looks like a good interview… Our friend Yukihiro Matsumoto, creator of the Ruby programming langua...
New
First poster: bot
Too long have we hustled to deploy Clojure websites. Too long have we spun up one server instance per site. Too long have reminisced abou...
New
brainlid
In episode 78 of Thinking Elixir, we talk with Chase Granberry about Logflare. We learn why Chase started the company, what Logflare does...
New

Other popular topics Top

PragmaticBookshelf
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
PragmaticBookshelf
Learn from the award-winning programming series that inspired the Elixir language, and go on a step-by-step journey through the most impo...
New
AstonJ
Or looking forward to? :nerd_face:
503 15149 280
New
PragmaticBookshelf
From finance to artificial intelligence, genetic algorithms are a powerful tool with a wide array of applications. But you don't need an ...
New
New
Maartz
Hi folks, I don’t know if I saw this here but, here’s a new programming language, called Roc Reminds me a bit of Elm and thus Haskell. ...
New
hilfordjames
There appears to have been an update that has changed the terminology for what has previously been known as the Taskbar Overflow - this h...
New
New
PragmaticBookshelf
Leverage Elixir and the Nx ecosystem to build intelligent applications that solve real-world problems in computer vision, natural languag...
New
AnfaengerAlex
Hello, I’m a beginner in Android development and I’m facing an issue with my project setup. In my build.gradle.kts file, I have the foll...
New