Castopod is a free and open-source podcast hosting solution made for podcasters who want engage and interact with their audience. https://castopod.org
  • PHP 96.7%
  • TypeScript 2%
  • CSS 0.5%
  • JavaScript 0.4%
  • Shell 0.2%
  • Other 0.2%
Find a file
2026-02-17 21:04:11 +00:00
.devcontainer feat(plugins): add spark commands to install, add, update and remove plugins using adaures' cpm 2025-09-22 17:34:36 +00:00
.github
.gitlab/issue_templates docs(plugins): clear up some ideas and fix links 2025-10-06 16:53:59 +00:00
.husky
app feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
docker build(docker): push amd64 image before overwriting manifest with both amd64 and arm64 platforms 2026-02-17 22:02:46 +01:00
docs docs(docker): add tip to encourage users to pin the castopod image version during production 2026-02-17 21:04:11 +00:00
modules feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
plugins
public feat: set min PHP version to 8.4 2025-03-14 12:54:51 +00:00
resources feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
scripts feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
tests chore: update CI to v4.6.3 + all php and js dependencies 2025-08-25 18:09:41 +00:00
themes fix: edit Podcast.php to clarify the followers are Fediverse followers 2025-10-13 12:37:17 +00:00
writable chore: update CI to v4.6.3 + all php and js dependencies 2025-08-25 18:09:41 +00:00
.all-contributorsrc
.browserslistrc
.dockerignore feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
.editorconfig
.env.example
.gitignore feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
.gitlab-ci.yml feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
.prettierrc.json
.releaserc.json feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
.rsync-filter fix(bundle): edit rsync filter to include resources/icons directory 2025-10-03 13:07:26 +00:00
.stylelintrc.json feat: set min PHP version to 8.4 2025-03-14 12:54:51 +00:00
.svgo.cjs
.svgo.icons.cjs
AUTHORS.md
builds
captainhook.json
CHANGELOG.md
CODE_OF_CONDUCT.md
commitlint.config.cjs
composer.json feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
composer.lock feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
CONTRIBUTING-DEV.md chore: update CI to v4.6.3 + all php and js dependencies 2025-08-25 18:09:41 +00:00
CONTRIBUTING.md
crowdin.yml
DEPENDENCIES.md
ecs.php feat: set min PHP version to 8.4 2025-03-14 12:54:51 +00:00
env
eslint.config.js
GDPR.txt
LICENSE.md
package.json feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
php-icons.php ci(php-icons): fix local icon sets path 2025-08-26 08:10:36 +00:00
phpstan.neon chore: update CI to v4.6.3 + all php and js dependencies 2025-08-25 18:09:41 +00:00
phpunit.xml.dist
pnpm-lock.yaml feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
postcss.config.cjs
preload.php chore: update CI to v4.6.3 + all php and js dependencies 2025-08-25 18:09:41 +00:00
README.md chore: replace twitter links by bluesky in docs 2025-08-31 09:48:01 +00:00
rector.php feat(docker): replace all-in-one image with FrankenPHP and Caddy based image + discard other images 2026-02-17 19:31:24 +00:00
spark chore: update CI to v4.6.3 + all php and js dependencies 2025-08-25 18:09:41 +00:00
tailwind.admin.config.js feat: set min PHP version to 8.4 2025-03-14 12:54:51 +00:00
tailwind.config.js feat: set min PHP version to 8.4 2025-03-14 12:54:51 +00:00
tailwind.install.config.js feat: set min PHP version to 8.4 2025-03-14 12:54:51 +00:00
tsconfig.json feat: set min PHP version to 8.4 2025-03-14 12:54:51 +00:00
vite.config.ts feat(plugins): add spark commands to install, add, update and remove plugins using adaures' cpm 2025-09-22 17:34:36 +00:00

release-badge license-badge crowdin-badge contributions-badge semantic-release-badge discord-badge stars-badge

Castopod is a free and open-source podcast hosting solution made for podcasters who want engage and interact with their audience.

Getting started

Castopod comes pre-packaged with all the required static assets and dependencies, you may download and install it by checking out the getting started page!

Security issues and vulnerabilities

If you encounter any security issue or vulnerability in the Castopod source, please contact us directly by email at security@castopod.org

Contributing

Contributions are always welcome!

See the contribution guidelines for ways to get started.

Important

Any contribution made on a repository other than the original repository will not be accepted.

Contributors

Thanks goes to these wonderful people (emoji key):

Yassine Doghri
Yassine Doghri

💻 🐛 📖 👀 🚧 🖋 🎨 🌍 💬 🧑‍🏫 🚇 🤔 📆 📝
Benjamin Bellamy
Benjamin Bellamy

💻 🐛 👀 🖋 🌍 💬 🚇 🤔 📝 📆 📢
Ola Hneini
Ola Hneini

💻 👀 📖 🚧 💬 🤔
Romain de Laage
Romain de Laage

💻 🚇 📖 🌍 🤔
Lyonel Bernard
Lyonel Bernard

🐛 💬 🔊 🤔
Christopher Lagonick-Weitzel
Christopher Lagonick-Weitzel

🐛 💬 🔊 🤔
Ernesto Acosta
Ernesto Acosta

🐛 🔊 🌍 💬 🤔
Ewen
Ewen

🌍 🤔 💻
Bastien Luneteau
Bastien Luneteau

💻 🐛
Cécile Ricordeau
Cécile Ricordeau

🎨
Patryk Miś
Patryk Miś

🌍
Marcin Lewandowski
Marcin Lewandowski

🐛 🤔
Sebastian Janik
Sebastian Janik

💻
Patryk Karczmarczyk
Patryk Karczmarczyk

💻
denis d
denis d

🐛 🤔
Douglas Kastle
Douglas Kastle

🐛 🤔
cExplorer
cExplorer

🐛 🌍
ImaCrea
ImaCrea

🐛 🤔
Jonas S
Jonas S

💻
LEFEBVRE Yann
LEFEBVRE Yann

🐛
Sebastian Späth
Sebastian Späth

🐛 🤔
rocky III
rocky III

🐛
Hermann Josef Eckl
Hermann Josef Eckl

🐛
Delhaye Cyrille
Delhaye Cyrille

🐛 🤔
João Leandro
João Leandro

🌍 🤔
Angelos Chouvardas
Angelos Chouvardas

🌍
Eivind
Eivind

🌍
forght
forght

🌍
glottis0q
glottis0q

🌍
ButterflyOfFire
ButterflyOfFire

🌍
Lucian I. Last
Lucian I. Last

🌍
LuuzViir
LuuzViir

🌍
CTHTC
CTHTC

🌍
Russian Retro
Russian Retro

🌍
Marek L'ach
Marek L'ach

🌍
GunChleoc
GunChleoc

🌍
GabiSnow
GabiSnow

🌍
bendaha
bendaha

🌍
Samuel Roland
Samuel Roland

🌍
Dimitri Regnier
Dimitri Regnier

🤔
irithys
irithys

🌍
Sergi
Sergi

🌍
Andreas Olsson
Andreas Olsson

🌍
leonfrom
leonfrom

🌍
agentcobra
agentcobra

🌍
Alessandro
Alessandro

🌍
liimee
liimee

🌍
Ahmed Sabouni
Ahmed Sabouni

🌍
KrzysztofDomanczyk
KrzysztofDomanczyk

💻
Guy Martin
Guy Martin

🐛 💻
Paul Cutler
Paul Cutler

📖 💬 🤔
Nate Ritter
Nate Ritter

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Contact

You may reach us for help or ask any question you have on:

  • Discord (for direct interaction with developers and the community)
  • Issue tracker (for feature requests & bug reports)

Alternatively, you can follow us on social media platforms to get news about Castopod:

Sponsors

The ongoing development of Castopod is made possible with the support of its backers. If you'd like to help, please consider sponsoring Castopod's development.

Ad Aures NLnet Logo

License

GNU Affero General Public License v3.0

Copyright © 2020-present, Ad Aures.