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 这样一套做法,不必注册账号,通过通道按量付费就能达到比较好的隐私性。

3 Likes

Hello everyone, I am updating the fiber-audio-player to support fiber wasm node with passkey experience. In another word, you can now pay to listen to the podcast without running a standalone fiber node in your computer. You can start a fiber node right in your browser and pay to the podcast with this fiber node. The CKB and fiber private key in the browser node never leaves and is managed via passkey PRF WebAuthn.


Give it a try and let me know your thoughts. Any feedback is welcome!

1 Like

巧了,我也在尝试写一个fiber wallet demo, 通过passkey PRF WebAuthn 和fiber wasm

1 Like