Settings

Theme

Show HN: An open source Patreon / Substack

8 points by rentfree-media 4 years ago · 4 comments · 2 min read


Hello everyone!

I am the developer of a media centric distribution of Wagtail + Django called Rent Free Media.

It is basically an open source Patreon or Substack.

https://rentfree.media is the site and the git is linked there. The license is AGPL for obvious reasons.

It generates RSS feeds from web page content, using the Django RSS feed framework, so that users can publish both their site their podcast episodes (or paid written content, if they are a Substack-type written content author) all in one edit.

Summary of features:

1. Integration with Stripe for subscription payments.

2. User permissions are handled via a segmentation library which is also open-source, so custom and complex pay tier rules are easily attainable.

3. Automatic generation of authenticated RSS links for podcast apps and news readers.

4. Mass and "drip" email marketing tools.

5. Remote and locally hosted files are supported for public / free content.

6. If you like Markdown, it will make Chicago-style episode notes in iTunes, Spotify, and Google's app for podcasts ;)

7. Default HTML templates are Bootstrap 5, and custom CSS can be applied to block elements in the CMS without getting into the template code for simple styling of page elements.

8. Podcasts may be published in both series and serial format, with or without visible previews of paid episodes, with or without combined pay/premium feeds. All configurable in the CMS admin without touching the code.

9. JSON+LD schema data is generated automatically including breadcrumbs, per page.

10. Dynamic web forms, optionally with conditional form fields based on the user's entries.

11. Auditable / actionable download tracking of premium content on a per-user basis.

12. 2FA out of the box, optional for users and optionally required for admins.

13. AJAX comments wherever you want to put them, just include the block on a page in the CMS editor (or not).

14. Full text / full site search via the Postgres DB.

15. A simple cache is included for anonymous requests, supporting all Django cache backends.

As the readme on the git states, it will work locally on the Django dev server with the caveat that media files won't "play" without Nginx to respond to the X-Sendfile requests, and a minor SQLite complex field filter support oddity which is not breaking in terms of functionality.

mattl 4 years ago

Do you intend to offer a hosted version of this?

  • rentfree-mediaOP 4 years ago

    If I did it would require a bit more planning on my part.

    Sticky points:

    1. Your own Nginx is required, to serve premium media securely you really need X-Sendfile to proxy not just the WSGI requests but also the media files themselves.

    2. The design is for the back end to not really care how you manage your Stripe account. It only cares that a user has a subscription tier, and is "active." So there's the consideration of how to handle that in terms of who touches the money bits.

    All that said, in the meantime I would be happy to assist people with deployment on their own cloud / Stripe accounts. Feel free to reach out to me via git contact info, I'd be happy to do a call with anyone about it.

    A lot of this is why Ansible scripts are provided in the repo to minimize the learning curve in the initial deploy. A deployment to host premium media is a bit more complex than a simple website Django app.

rlawson 4 years ago

This looks very impressive!

  • rentfree-mediaOP 4 years ago

    Thanks!

    We are using it for our own recently launched podcast and it's working fine for us so far. As a minimal example, we customized the bootstrap css, about 8 HTML block/page templates, and built our header/footer in the CMS editor. Otherwise we're completely stock from what's on the git repo.

    Wagtail is a pretty nice compromise between wysiwyg and completely headless, I think. I would hope that people not willing to do a complete custom UI for a non-tech business find this a good middle point to work from.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection