Levelrail
Skip to content

Self-host Castopod with Docker ​

An open-source podcast hosting platform with built-in analytics, a web player, and ActivityPub federation.

This page describes the Levelrail template for Castopod (Media). It deploys the services below as one Docker Compose app on your own server.

Project site: https://docs.castopod.org/.

Recommended memory: about 1024 MiB.

Services, ports and volumes ​

ServiceImageContainer portsVolumes
castopodcastopod/castopod:1.15.48080
castopod_media -> /var/www/castopod/public/media
mariadbmariadb:11.2none
castopod_db -> /var/lib/mysql
redisredis:7.2-alpinenone
castopod_cache -> /data

Environment variables ​

ServiceVariableValue
castopodCP_ANALYTICS_SALTGenerated at deploy
castopodCP_BASEURLPreset in the template
castopodCP_CACHE_HANDLERPreset in the template
castopodCP_DISABLE_HTTPSPreset in the template
castopodCP_REDIS_HOSTPreset in the template
castopodCP_REDIS_PASSWORDGenerated at deploy
castopodMYSQL_DATABASEPreset in the template
castopodMYSQL_PASSWORDGenerated at deploy
castopodMYSQL_USERGenerated at deploy
mariadbMYSQL_DATABASEPreset in the template
mariadbMYSQL_PASSWORDGenerated at deploy
mariadbMYSQL_ROOT_PASSWORDGenerated at deploy
mariadbMYSQL_USERGenerated at deploy
redisREDIS_PASSWORDGenerated at deploy

Passwords and keys marked as generated are created for you when the app is deployed and stored as secrets. Values are not shown here.

Deploy Castopod with Levelrail ​

In the dashboard, open Apps, choose New app, then Browse templates, and select Castopod. Review the Compose body and deploy.

With the CLI:

levelrail-cli templates deploy castopod --name my-castopod

See Service template catalog for how templates work, and Getting started if you have not installed Levelrail yet.

More Media templates ​

All templates are listed in the self-host gallery.

Released under the Apache 2.0 License.