PodFetch on Ubuntu 24.04 LTS
by cloudimg
PodFetch, self hosted podcast manager and downloader, on Ubuntu 24.04 LTS by cloudimg
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
PodFetch - Production-Ready Self-Hosted Podcast Server by cloudimg
Deploy a private, self-hosted podcast manager and downloader on your own Azure infrastructure in minutes - no manual installation, no shared credentials, no third-party podcast subscription. This image delivers PodFetch 5.2.2 fully installed, hardened, and reverse-proxied behind nginx, so you sign in, subscribe to the feeds you follow, and PodFetch automatically downloads and streams every episode after the VM boots.
Why This Image Instead of Manual Installation
Installing PodFetch by hand means placing the server binary and its frontend, writing systemd units, configuring an nginx reverse proxy with websocket support, laying out storage, and wiring up authentication. This image eliminates that operational burden:
- Pre-configured nginx reverse proxy for production-grade request handling without manual setup
- Secure by default: no password is baked in, and a unique administrator password is generated on the first boot of every VM
- A host firewall keeps the application port off the network so the nginx proxy is the only reachable surface
- Immediate time-to-value: sign in and subscribe to podcast feeds within minutes of the VM starting
- Ongoing expert support: 24/7 cloudimg engineers handle upgrades, storage growth and TLS termination
Use Case: A Private Podcast Server Without Third-Party Services
A household or team wants to follow podcasts and keep every episode archived and streamable from any device without handing their listening data to a public app. With this image they launch a VM, read the per-VM administrator password from a root-only file, sign in to the web player, subscribe to their feeds, and PodFetch downloads new episodes on a schedule onto a dedicated data disk - all within their own VNet with full control of the data.
Application Stack
PodFetch is a single self-contained Rust binary with an embedded SQLite datastore and a bundled web player. It serves its web player and REST, gpodder, Subsonic and AudiobookShelf compatible APIs, fronted by nginx as a websocket-aware reverse proxy on port 80. The SQLite database and the downloaded podcast library live on a dedicated Azure data disk, separate from the operating system disk and re-provisioned with every VM.
Secure By Default
No password is baked into the image. On the first boot of every VM a unique administrator password is generated and written to a file readable only by root, so no two deployments share a login. The application is gated by HTTP Basic authentication at both the nginx reverse proxy and PodFetch itself, and because the server binds to all interfaces a host firewall keeps its internal port off the network, so only the nginx proxy on port 80 faces the network.
Sync-App Compatible
PodFetch exposes gpodder, Subsonic and AudiobookShelf compatible sync APIs, so a wide ecosystem of dedicated podcast apps can sync subscriptions and playback with your server on any device, in addition to the built-in browser web player.
Getting Started
1. Launch the image on your chosen Azure VM size 2. Read the per-VM administrator password with sudo cat /root/podfetch-credentials.txt 3. Browse to the VM public IP and sign in as admin with that password 4. Subscribe to your podcast feeds; PodFetch downloads new episodes automatically
Licensing and Pricing
PodFetch is licensed under Apache-2.0 and is free; there is no per-seat or per-feed fee. The cloudimg charge of 0.04 US dollars per vCPU hour covers packaging, security patching, image maintenance, and 24/7 expert support. PodFetch serves plain HTTP on port 80; terminate TLS in front of it with your own domain before production.
cloudimg Support
24/7 technical support by email covers deployment, upgrades, storage growth, and TLS termination. Critical issues receive a one-hour average response time.
PodFetch is a trademark of its respective owner. All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.