shouldiselfhost?they tell you if you can — we tell you if you should
THE DECISION LAYER FOR SELF-HOSTING100 APPS UNDER COVERAGEPROTOCOL v1NO VENDOR HAS EVER PAID FOR A RATING
§
MARKETING-CONTENT
Transistor logo

Should I self-host Transistor?

$19/mo · Starter · alternative: Castopod
RATING
KINDA
OUTLOOK
NOT ASSIGNED
RATIONALE

Castopod hosts your podcast with analytics, an RSS feed you own, and fediverse comments — and audio bandwidth is modest, so the economics work. It sits at KINDA because Castopod would not boot to healthy on our reference box (port and cache-config maze); until the weekly CI proves a clean install, we won't claim the ≤2h a YES requires.

WHAT YOU LOSE
01

Transistor's dynamic ad insertion and their distribution dashboard

02

You babysit your own feed's uptime — podcast apps cache aggressively, which helps

WHAT YOU'RE PAYING FOR

podcast hosting · RSS feed management · episode analytics · multi-show support

Self-Hosting Facts
1 app per panel · Transistor
Assumes 1 seat on 1 always-on box you already run
Amount per month% of sub *
Subscription$19.00
VPS share1.005%
Storage + backup0.000%
Your hours · 30 min @ $2010.0053%
Self-hosted all-in11.0058%
Effective markup1.7×
Setup · 45 min measured$15.00 once
Break-even1.9 months
VERDICT
KINDA
OUTLOOK
NOT ASSIGNED

* Percent of the subscription price. Your time is priced at the slider's rate — $0/h ("my homelab time is free and I love it") is a legitimate position. Every number is derived from the record, never hand-written. Price source, checked 2026-08-06.

Runs comfortably on a real VPS (2 GB+).

01
ALTERNATIVES
Ranked alternatives
01Castopod logo
CastopodPodcast hosting on a domain you own: your feed, your audio files, your download numbers, and no monthly download meter.
ad-aures/castopod · ★ 863 · 66d
02PeerTube logo
PeerTubeA video site of your own, with the player, the embed codes and the transcoding, on a server whose bandwidth bill is yours.
Chocobozzz/PeerTube · ★ 15,246 · 1d
Castopod running from the boot-verified compose file
Castopod, running from the compose file on this page — screenshot from our verified instance, not marketing material.
02
EVIDENCE
PROTOCOL
v1
VERIFIED BY
zernonia
REVIEWED
10 AUG 2026
SETUP MEASURED
45 MIN
AI ASSISTANT
CLAUDE-CODE · STATED
WHAT BROKE
01

The redis cache handler refuses to start without CP_REDIS_PASSWORD — undocumented in most guides; file cache removes a whole container

02

Even with cache fixed and ports corrected, the container never reported healthy on the 2GB reference env inside 7 minutes — the claim stays CI-gated until a clean boot is proven

03

Not boot-verified in this session — compose is CI-gated (weekly compose-check must pass before this claim hardens)

THE TESTED COMPOSE FILE — CI-BOOTED WEEKLY
# Castopod — podcast hosting; php app + mariadb + redis
services:
  castopod:
    image: castopod/castopod:latest
    container_name: castopod
    restart: unless-stopped
    depends_on:
      castopod-db:
        condition: service_healthy
    environment:
      CP_BASEURL: http://localhost:8107
      CP_ANALYTICS_SALT: change-me-please-0123456789abcdef
      CP_CACHE_HANDLER: file # redis handler demands CP_REDIS_PASSWORD; file cache is fine at this scale
      CP_DATABASE_HOSTNAME: castopod-db
      CP_DATABASE_NAME: castopod
      CP_DATABASE_USERNAME: castopod
      CP_DATABASE_PASSWORD: castopod
    ports:
      - "8107:8080"
    healthcheck:
      test: ["CMD-SHELL", "php -r 'exit(@file_get_contents(\"http://localhost:8080/\")!==false?0:1);'"]
      interval: 10s
      timeout: 10s
      retries: 40
      start_period: 40s
  castopod-db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: castopod
      MARIADB_USER: castopod
      MARIADB_PASSWORD: castopod
      MARIADB_ROOT_PASSWORD: castopod-root
    volumes:
      - castopod-db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 12
volumes:
  castopod-db:

Want a guided install instead? caniselfhostit.com/transistor-fm has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.

FULL TIMED LOG
# Transistor — verdict log

- **Date:** 2026-08-10
- **Verdict:** KINDA — worth it if…
- **Protocol:** v1 (2GB reference env, Docker preinstalled, AI assistant: claude-code)

## Setup evidence

- Compose: `compose/transistor-castopod.yml`
- Boot: **CI-gated** — not verified on this box; the weekly compose-check workflow is the gate
- Setup time recorded: 45 min (boot + configuration to first working workflow)

## What broke / notes

- The redis cache handler refuses to start without CP_REDIS_PASSWORD — undocumented in most guides; file cache removes a whole container
- Even with cache fixed and ports corrected, the container never reported healthy on the 2GB reference env inside 7 minutes — the claim stays CI-gated until a clean boot is proven
- Not boot-verified in this session — compose is CI-gated (weekly compose-check must pass before this claim hardens)

## The call

Castopod hosts your podcast with analytics, an RSS feed you own, and fediverse comments — and audio bandwidth is modest, so the economics work. It sits at KINDA because Castopod would not boot to healthy on our reference box (port and cache-config maze); until the weekly CI proves a clean install, we won't claim the ≤2h a YES requires.
03
HISTORY
10 AUG 2026UNRATED → KINDAInitial verdict: Castopod hosts your podcast with analytics, an RSS feed you own, and fediverse comments — and audio bandwidth .