Skip to content

Web / REST interface for archiving entire podcasts onto a server.

License

Notifications You must be signed in to change notification settings

garrettdowd/podcast-dl-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Stars Shield Docker Pulls Shield GitHub license

podcast-dl-server

Very spartan Web and REST interface for downloading podcasts onto a server. Inspired and heavily derived from youtube-dl-server. bottle + podcast-dl.

screenshot

Running

Docker CLI

This example uses the docker run command to create the container to run the app. Here we also use host networking for simplicity. Also note the -v argument. This directory will be used to output the resulting podcasts

docker run -d --net="host" --name podcast-dl -v /downloads:/path-to-download-folder garrettdowd/podcast-dl-server

Docker Compose

This is an example service definition that could be put in docker-compose.yml which can be downloaded here.

---
version: "2"
services:
  podcast-dl:
    container_name: podcast-dl
    image: garrettdowd/podcast-dl-server
    volumes:
      - /downloads:/path-to-download-folder
    ports:
      - 8567:8567
    restart: unless-stopped

Usage

Start a download remotely

Downloads can be triggered by supplying the {{url}} of the requested podcast through the Web UI or through the REST interface via curl, etc.

HTML

Just navigate to http://{{host}}:8080/podcast-dl and enter the requested {{url}}.

Curl

curl -X POST --data-urlencode "url={{url}}" http://{{host}}:8080/podccast-dl/q

Fetch

fetch(`http://${host}:8080/podcast-dl/q`, {
  method: "POST",
  body: new URLSearchParams({
    url: url
  }),
});

Implementation

The server uses bottle for the web framework and podcast-dl to handle the downloading.

This docker image is based on python:alpine and consequently alpine:3.8.

About

Web / REST interface for archiving entire podcasts onto a server.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 48.4%
  • HTML 42.6%
  • Dockerfile 7.3%
  • CSS 1.7%