Make Self-Host Great Again: How I Use Fiber and OpenClaw to Run a Podcast Payment Service

An experiment about running a streaming micropayment business on a home-built PC, without public IP, and managing it through Discord (with a little help from AI agent).


TL;DR

I built Fiber Audio Player - a self-hosted podcast platform with per-second micropayments. It runs on a home-assembled PC (8GB RAM, 200+GB SSD, ~¥500), integrates a fiber testnet node, uses Cloudflare Tunnel (no public IP needed), and can be managed through an AI agent on Discord. The tech stack: Fiber Network for payments, OpenClaw for operations, and a simple CLI for content management.

This isn’t about saving money - it’s about autonomy. Total control over your infrastructure, your payments, your data. In an era of platform dependency, self-hosting is a statement of independence.

my home-built pc that actually run the service

Why Self-Host in 2026?

The cheapest option is trusting centralized platforms. They handle scaling, backups, legal compliance, and customer support for “free” (while taking 30-50% of your revenue). If cost is your only concern, stop reading now and go sign up for Spotify/Apple Podcasts.

But if you believe in:

  • Data sovereignty - your audience relationships(or anonymous) belong to you
  • Censorship resistance - no platform can demonetize you overnight
  • Protocol-level ownership - payments flow directly, not through intermediaries
  • The joy of understanding - knowing exactly how your business works

Then this is the fun project that actually has the potential to turn into a real business.

The Stack

Here’s what I’m actually running:

The Hardware is a Home-Built PC. I assembled a small PC that sits in my living room:

retric@bear:~$ fastfetch
                             ....              retric@bear
              .',:clooo:  .:looooo:.           -----------
           .;looooooooc  .oooooooooo'          OS: Ubuntu 24.04.4 LTS (Noble Numbat) x86_64
        .;looooool:,''.  :ooooooooooc          Kernel: Linux 6.8.0-100-generic
       ;looool;.         'oooooooooo,          Uptime: 19 days, 8 mins
      ;clool'             .cooooooc.  ,,       Packages: 746 (dpkg)
         ...                ......  .:oo,      Shell: bash 5.2.21
  .;clol:,.                        .loooo'     Terminal: /dev/pts/0
 :ooooooooo,                        'ooool     CPU: Intel(R) Xeon(R) E3-1226 v3 (4) @ 3.30 GHz
'ooooooooooo.                        loooo.    GPU: Intel Xeon E3-1200 v3 Processor Integrated Graphics Controller @ 1.20 GHz [Integrated]
'ooooooooool                         coooo.    Memory: 1.61 GiB / 7.68 GiB (21%)
 ,loooooooc.                        .loooo.    Swap: 1.00 MiB / 4.00 GiB (0%)
   .,;;;'.                          ;ooooc     Disk (/): 14.89 GiB / 231.17 GiB (6%) - ext4
       ...                         ,ooool.     Local IP (Meta): 198.18.0.1/30
    .cooooc.              ..',,'.  .cooo.      Locale: en_US.UTF-8
      ;ooooo:.           ;oooooooc.  :l.
       .coooooc,..      coooooooooo.
         .:ooooooolc:. .ooooooooooo'
           .':loooooo;  ,oooooooooc
               ..';::c'  .;loooo:'

My data lives on hardware I can touch, in a location I control, running software I can audit. No terms of service changes, no account suspensions, no “we’ve updated our privacy policy.”

The Payment Layer is Fiber Network. It’s a Lightning Network-style payment channel system on Nervos CKB. I run a fiber node on the same machine hosting the podcast service. It is currently on testnet, but I am looking forward to upgrade it to mainnet when the fiber-audio-player service is production-ready.

One thing worth to notice here is that the payment is not a direct channel payment between users and developer. The developer runs a un-anounced node(which don’t have a public IP and is a home node), the users also runs a un-anounced home node, they both connected to and open a channel with a public testnet node. The payment arrives with multi-hop. This showcase the network effect for fiber. It also lowers the entry boundary since developers and users both don’t need to run a anounced node with public IP.

retric@bear:~$ fiber-pay node network
Node Network Overview
=====================

Connected Peers: 6
Active Channels: 1
Total Channel Capacity: 61.0 CKB

Peers:
  PEER_ID                ALIAS                ADDRESS                    VERSION
  --------------------------------------------------------------------------------
  Qmd2LiBRNL...rfpm5gE2  (unnamed)            /ip4/3.212.70.7...rfpm5gE2 0.6.0-rc
  QmXen3eUHh...X69XJ1Eo  CryptapeNode-1       /ip4/18.162.235...X69XJ1Eo 0.7.1
  QmTSCNRf1Y...C1kjFK3c  (unnamed)            /ip4/16.162.99....C1kjFK3c 0.7.1
  QmYpLMXR3F...4Ej3C2xM  (unnamed)            /ip4/100.92.199...4Ej3C2xM 0.6.1
  Qmc9tdvFCh...YMZ1T7uj  (unnamed)            /ip4/82.29.173....YMZ1T7uj 0.7.1
  QmfNUEDq9Z...fZU1kGjR  (unnamed)            /ip4/16.162.99....fZU1kGjR 0.7.1

Channels:
  CHANNEL_ID             PEER_ALIAS           STATE          LOCAL_BAL     REMOTE_BAL   CAPACITY
  -----------------------------------------------------------------------------------------------
  0xca8b4836...cc4950a4  CryptapeNode-1     CHANNEL_READY       902.2       149.8     61.0

The podcast service of Fiber Audio Player is open-source software: Next.js frontend + Hono backend that handles:

  • Audio streaming with HLS encryption
  • Payment verification via Fiber RPC
  • SQLite database for podcasts/episodes
  • Admin API for content management
  • FFmpeg transcodes audio to streaming format

I use Cloudflare Tunnel to expose the fiber-audio-player services through Cloudflare’s edge network. So I don’t need a public IP but only a cheap domain name.

Result: my domain https://fiber-audio-player.pingkey.xyz routes to backend API localhost:8787 on my machine, secured by Cloudflare’s SSL and DDoS protection.

The Operator: OpenClaw

This is where it gets magical. I run OpenClaw - a self-hosted AI agent that connects to Discord. Instead of SSHing into my home PC or memorizing CLI commands, I just message my Discord bot.

How it works:

  1. OpenClaw reads the project documentation I provide
  2. It has access to the built-in fap CLI tool for podcast management
  3. It can check PM2 logs and system status
  4. I interact with it through natural language in Discord

It’s like having a DevOps engineer who knows my entire stack living in my Discord server.



I asked openclaw to help me upload a song to the podcast. It works great! This is just a test, I know it is against the copy rights. let’s just pretend it is not happening.


I asked openclaw to check channel revenue. The service doesn’t have such a API, but to my suprise, openclaw just check the database directly and gives me the data, impressive!

OpenClaw doesn’t magically know my system. I provide it with Documentation in the fiber-audio-player repo like The devops manual and backend API docs. And all of this works because I also built a proper CLI tool (fap - Fiber Audio Player CLI) that OpenClaw can use:

# Authentication
fap auth login --api-key <key> --backend-url http://localhost:8787

# Podcast management
fap podcast create --title "Tech Talk" --description "Weekly tech discussions"
fap podcast list

# Episode workflow
fap episode create \
  --podcast-id <id> \
  --title "Episode 42" \
  --file ./audio.mp3 \
  --price-per-second 10000 \
  --wait \
  --publish

# Monitoring
fap episode list --status processing
fap episode get <id>

Once OpenClaw is integrated, even the minimal maintenance becomes conversational. It lowers the barriers to entry for self-hosting. This is the best thing AI agent brings.

We’re entering an era where infrastructure becomes conversational. The complexity hasn’t disappeared - it’s been abstracted behind AI agents that speak human language. And thanks to the Fiber network, the economic feedback loop for self-hosting finally has its missing piece.

Try It Yourself

Want to run your own?

Quick start:

git clone https://github.com/retricsu/fiber-audio-player.git
cd fiber-audio-player
pnpm install
pnpm build

Full deployment:

Get help:

  • Ask me anything under this post.

Conclusion

The future of content creation isn’t platforms - it’s personal infrastructure. With Fiber Network for payments, OpenClaw for operations, and a home-built PC, you can run a sovereign business that you fully control.

This isn’t just about podcasts. The same architecture works for:

  • Video streaming
  • Newsletter subscriptions
  • Digital downloads
  • API services
  • Any content business

The tools are here. The protocols are mature. The AI assistance makes it manageable.

Make self-host great again.

12 Likes

我想我们可以合作,看看我的项目

您好,如果强调“自托管抗审查去中介”我觉得没问题,只是稳定币好像也都能解决相关支付问题,于是跟 nervos 有关的好像就只剩下了 fiber 能做到的高频小额支付。

所以我有个困惑哈,这种按秒支付的商业场景现实中真的存在吗?比如播客,似乎单集付费已经能满足需求(单集免费试听全集付费的模式也能满足消费者先尝后买的需求),简单易操作,购买后可以反复听。我是想着如果按时长计费 web2 技术上应该也能做到,比如小宇宙按分钟出售时长,购买后去听收费节目,时长用完为止,但貌似并不怎么需要这种产品形态?播客和视频适合做成可以碎片化体验的产品吗?我们某种程度上会不会在基于 nervos 能做什么来倒推一种并不存在的消费需求?

这个项目是开源的,我个人可能没有能力去做商业化上的运营或者项目尝试,更多是希望提供开源的尝试方案给大家,看看社区的想法。如果有想要 self-host 的,非常欢迎尝试跑一跑。或者有其他问题也可以一起交流讨论。

1 Like

我觉得你的担忧是有道理的。对于“内容有没有按秒收费的需求/用户教育”上的问题,老实说我没有答案。micropayment 对用户确实会增加一定的心智负担。我的想法是,这是一套通用的架构,也许今天播客这个 demo 的内容确实是不合适的,但可能社区某个人看到,会觉得拿来在其他场景上使用反而是合适的,那么现在把这套通用的做法展示出来就有一些意义了。

比如我想的一个场景是,AI 按 token 用量看起来是很适合流式付费模式的。某些用户可能不希望暴露自己的身份,把太多信息扔给 AI provider 从而聚合出自己的用户画像,那么用上面 demo 这样一套做法,不必注册账号,通过通道按量付费就能达到比较好的隐私性。

2 Likes