{"id":37139805,"url":"https://github.com/virajchitnis/podcaster","last_synced_at":"2026-01-14T16:18:01.883Z","repository":{"id":75197035,"uuid":"282001519","full_name":"virajchitnis/Podcaster","owner":"virajchitnis","description":"Server for hosting podcast feeds","archived":false,"fork":false,"pushed_at":"2020-07-31T18:31:40.000Z","size":819,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-16T15:38:39.436Z","etag":null,"topics":["gin-gonic","go","golang","podcast","podcasting","rss","rss-feed","server","xml"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/virajchitnis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-23T16:24:18.000Z","updated_at":"2021-01-04T18:47:34.000Z","dependencies_parsed_at":"2023-06-05T17:30:24.196Z","dependency_job_id":null,"html_url":"https://github.com/virajchitnis/Podcaster","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/virajchitnis/Podcaster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virajchitnis%2FPodcaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virajchitnis%2FPodcaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virajchitnis%2FPodcaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virajchitnis%2FPodcaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/virajchitnis","download_url":"https://codeload.github.com/virajchitnis/Podcaster/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virajchitnis%2FPodcaster/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28425630,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T15:24:48.085Z","status":"ssl_error","status_checked_at":"2026-01-14T15:23:41.940Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gin-gonic","go","golang","podcast","podcasting","rss","rss-feed","server","xml"],"created_at":"2026-01-14T16:18:01.058Z","updated_at":"2026-01-14T16:18:01.877Z","avatar_url":"https://github.com/virajchitnis.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Podcaster\n=========\n\nHost your own podcasts on your server.\n\nIntro\n-----\n\nMy brother recently started podcasting, and in order to help publish his podcasts, I created a Go (golang) application that runs on my server.\nI have decided to create an open source version of this application and release it here. \n\nEndpoints\n---------\n\n- `/health` - Simply returns a `200 OK` response with a `Up!` message as the body. This can be used by frontend web servers such as Haproxy to check whether this server is running.\n- `/{podcast_name}/feed.xml` - This is the feed for a configured podcast. This is what will be used by podcasting applications, or by Apple, Spotify, etc.\n\nSetup\n-----\n\n1. Download the relevant binary file from the releases section of this repository.\n2. Run the binary file from the command line interface of your server: `./Podcaster`. Run it with the `-config \"path/to/config.yaml\"` option if you want to specify a config file. The default location for the config file is: `/etc/podcaster/config.yaml`. If no config file is found at the default location (or at the location specified), one will be automatically created on first run.\n\nDockerize\n---------\n\nTo run this application within a docker container:\n\n1. Build the docker image: `docker build -t Podcaster .`\n2. Run a docker container: `docker run --name Podcaster --restart always -v \"path/to/config/directory\":/etc/podcaster -v \"path/to/data/directory\":/var/podcaster -d Podcaster`\n3. Restart the docker container if you make changes to the data directory later: `docker restart Podcaster`\n\nImportant\n---------\n\n- Make sure the `shortname` field in the `.yaml` file for each podcast does not contain spaces or special characters. This will be used in the URL for the podcast feed.\n- `href` field must contain the location of your podcast's cover art. This location must be relative to the data directory. For instance if you want the URL for the cover art to be `https://www.domain.tld/media/images/podcast_name.jpeg`, this field must contain: `/media/images/podcast_name.jpeg` and the file should be stored in `data/directory/media/images/podcast_name.jpg`.\n- `url` field in the episode configuration must meet the same requirements as the `href` field mentioned above.\n- `file` field in the episode configuration must contain the on disk location of your podcast media (audio/video) files relative to the data directory. For example, if you want to serve the media file from `https://www.domain.tld/media/podcast_name/s01e01.mp3`, you should store it in the `data/directory -\u003e media -\u003e podcast_name` directory and name it `s01e01.mp3`. You must then put `/media/podcast_name/s01e01.mp3` as the value for the `file` field.\n\nContributing\n------------\n\nIf you want to suggest a change or fix something, feel free to send me a pull request.\n\nLicense\n-------\n\nThis project is licensed under the GNU GPLv3 license.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirajchitnis%2Fpodcaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvirajchitnis%2Fpodcaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirajchitnis%2Fpodcaster/lists"}