All Projects → Dzoukr → Funcaster

Dzoukr / Funcaster

Licence: MIT license
⚡ Serverless .NET solution for hosting your 🔊 podcasts with (nearly) zero costs using Azure Functions and Azure Storage Account.

Programming Languages

F#
602 projects

Projects that are alternatives of or similar to Funcaster

castget
A simple, command-line based RSS enclosure downloader, primarily intended for automatic, unattended downloading of podcasts.
Stars: ✭ 76 (+72.73%)
Mutual labels:  rss, podcasts
Reach-Podcast-Player
This is a rss-based podcast player made in electron and angular!
Stars: ✭ 51 (+15.91%)
Mutual labels:  rss, podcasts
Awesome Chinese Podcasts
一些不错的中文podcasts
Stars: ✭ 124 (+181.82%)
Mutual labels:  rss, podcasts
Spotify-Podcast-Feed
A service which provides Spotify podcast as RSS feed, which can be subscribed in any podcast app.
Stars: ✭ 16 (-63.64%)
Mutual labels:  rss, podcasts
Reach Podcast Player
This is a rss-based podcast player made in electron and angular!
Stars: ✭ 49 (+11.36%)
Mutual labels:  rss, podcasts
Winds
A Beautiful Open Source RSS & Podcast App Powered by Getstream.io
Stars: ✭ 8,530 (+19286.36%)
Mutual labels:  rss, podcasts
Spotifeed
A simple service to serve up Spotify podcasts as RSS feeds for use in any podcast app.
Stars: ✭ 238 (+440.91%)
Mutual labels:  rss, podcasts
podhouse
The best way to listen to your favorite podcasts.
Stars: ✭ 39 (-11.36%)
Mutual labels:  podcasts
Email-newsletter-RSS
邮箱 📧 newsletter RSS 荟萃 News
Stars: ✭ 1,225 (+2684.09%)
Mutual labels:  rss
TextMood
A Xamarin + IoT + Azure sample that detects the sentiment of incoming text messages, performs sentiment analysis on the text, and changes the color of a Philips Hue lightbulb
Stars: ✭ 52 (+18.18%)
Mutual labels:  azure-functions
AzureWebAppSSLManager
Acquires and manages free SSL certificates for Azure Web App and Azure Functions applications.
Stars: ✭ 70 (+59.09%)
Mutual labels:  azure-functions
lares
Minimal Fever API (RSS Reader) Implementation
Stars: ✭ 28 (-36.36%)
Mutual labels:  rss
fulltextrssplz
Make rss full text.
Stars: ✭ 25 (-43.18%)
Mutual labels:  rss
azure-functions-deno-worker
Run Deno 🦕 on Azure Functions ⚡️
Stars: ✭ 99 (+125%)
Mutual labels:  azure-functions
AI-on-Microsoft-Azure
Microsoft buduje i tworzy Polską Dolinę Cyfrową. W ramach tej inicjatywy podjęliśmy się wyzwania zbudowania chmurowych kompetencji wśród 150tys osób w Polsce. Jednym z elementów tej inicjatywy jest dedykowany kurs na studiach inzynierskich i magisterskich na Politechnice Warszawskiej poświęcony chmurze obliczeniowej oraz sztucznej inteligencji.
Stars: ✭ 11 (-75%)
Mutual labels:  azure-functions
producthunt-daily-rss
The missing RSS feed for ProductHunt daily top posts
Stars: ✭ 27 (-38.64%)
Mutual labels:  rss
azure-event-driven-data-pipeline
Building event-driven data ingestion pipelines in Azure
Stars: ✭ 13 (-70.45%)
Mutual labels:  azure-functions
cakephp-feed
CakePHP Plugin with RssView to create RSS feeds.
Stars: ✭ 13 (-70.45%)
Mutual labels:  rss
osmosfeed
Turn GitHub into an RSS reader
Stars: ✭ 839 (+1806.82%)
Mutual labels:  rss
newsdash
A news dashboard inspired by iGoogle and Netvibes
Stars: ✭ 44 (+0%)
Mutual labels:  rss

Funcaster

Serverless .NET solution for hosting your 🔊 podcasts with (nearly) zero costs using Azure Functions and Azure Storage Account. Now with integration with 💻 FuncasterStudio!

Supported platforms

How does it work

To start publishing your podcast you simply need two things: Public accessible storage for your audio files, and RSS feed providing information necessary information about podcasts and episodes in valid XML format. Only if we would have cloud-based services providing terabytes of storage for a ridiculously low price and service for providing an Http-based serverless API with millions of monthly invocations for free... Oh, wait! We have Azure Storage Account & Azure Functions! Yes, this solution does exactly that - checking your blobs (audio files) on your Storage Account and providing valid RSS XML over Azure Functions.

Requirements

To use this solution you need to have access to Azure Portal and be logged in. If you don't have an account, you can create one for free.

Pre-installation

You need to have binaries ready for deployment. You can easily download the latest ZIP version from Releases, or you can build your own by checkout this repository and running:

> dotnet tool restore
> dotnet run publish

Custom build output, as well as ZIP file, can be found in the publish folder on the root level of the solution. No matter which one you'll choose, get your ZIP file ready for deployment described in the next chapter.

Installation

We will need to install and set up two things: Storage Account for your podcasts, and Azure Functions app for management around those files. It's pretty easy so just follow the steps and you are quickly done.

Storage Account

1️⃣ Create new Storage Account service

Once logged in Azure Portal, create a new Storage Account a wait for deployment is complete.

2️⃣ Copy connection string

To connect serverless part of Funcaster with newly created Storage Account, you need to copy a connection string. Also remember it for using 💻 FuncasterStudio later.

Cool! Now everything is ready for the second part - Azure Functions.

Azure Functions

1️⃣ Create new Function App

Create a new Function app with any name you would like to use, select the same region your Storage Account is in, choose .NET6 and proceed to creation. If you would like to have built-in monitoring, turn on the Application Insights.

2️⃣ Setup connection string, runtime, and version

Funcaster is built on .NET6 using dotnet-isolated as worker runtime, which is equivalent to ~4 extension version. We need to check this is properly configured in configuration + add the connection string to the prepared Storage Account.

3️⃣ Deploy Funcaster

Ok, let's deploy our ZIP file! There are many ways (CI solutions like GitHub Actions or Azure DevOps pipelines are preferred), but let's take the shortcut here and use the KUDU ZIP deployment running at https://<NAME_OF_YOUR_FUNCTION_APP>.scm.azurewebsites.net/

Great! Your solution is almost ready! Now it's time to add some podcast content, can we?

Using Funcaster with 💻 FuncasterStudio

Your podcasting solution is ready for serving files stored on blob storage. Let's start using it!! This the time when 💻 FuncasterStudio steps in as a great solution.

Just pull it as a Docker image from hub and run it locally using connection string to newly created storage acccount.

> docker run -p 1234:80 -e PodcastStorage="<CONNECTION_STRING>" dzoukr/funcasterstudio

Navigate to http://localhost:1234 and start uploading episodes, podcast logo, and other stuff using 💻 FuncasterStudio.

IT'S DONE! 🥳🎆🎊 Let's see how our RSS feed looks like. Navigate to https://<NAME_OF_YOUR_FUNCTION_APP>.azurewebsites.net/rss and behold!

Using RSS feed

Now it's up to you where you wanna publish your podcast. I've already successfully published to Spotify Podcasts, Apple Podcasts and Google Podcasts but I'm pretty sure it will work for other providers too.

FAQ

Should I use this instead of Soundcloud?

It's up to you. Soundcloud offers great social features like likes, a built-in web player, and many more, but it costs over 8 EUR / months. If you just need to publish your podcast for (almost) zero costs, Funcaster is here at your service.

What if I need an embedded player on my site?

Spotify and Apple offer an easy way of creating embedded players directly from the application or marketing tools. Or just use <audio> HTML5 tag.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].