From 77e0d00737fc77f5a5adcfc78fc8a5620057c85b Mon Sep 17 00:00:00 2001 From: Maksym Pavlenko Date: Wed, 13 Nov 2019 21:14:52 -0800 Subject: [PATCH] Update README --- README.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 51fbd17..8cac3b5 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,79 @@ [![Go Report Card](https://goreportcard.com/badge/github.com/mxpv/podsync)](https://goreportcard.com/report/github.com/mxpv/podsync) [![Patreon](https://img.shields.io/badge/support-patreon-E6461A.svg)](https://www.patreon.com/podsync) -Podsync - is a simple, free service that lets you listen to any YouTube / Vimeo channels, playlists or user videos in podcast format. +Podsync - is a simple, free service that lets you listen to any YouTube / Vimeo channels, playlists or user videos in +podcast format. -Podcast applications have a rich functionality for content delivery - automatic download of new episodes, remembering last played position, sync between devices and offline listening. This functionality is not available on YouTube and Vimeo. So the aim of Podsync is to make your life easier and enable you to view/listen to content on any device in podcast client. +Podcast applications have a rich functionality for content delivery - automatic download of new episodes, +remembering last played position, sync between devices and offline listening. This functionality is not available +on YouTube and Vimeo. So the aim of Podsync is to make your life easier and enable you to view/listen to content on +any device in podcast client. -## How to release +## Dependencies + +If you're running the CLI as binary (e.g. not via Docker), you need to make sure that dependencies are available on +your system. Currently Podsync depends on `youtube-dl` and `ffmpeg`. + +On Mac you can install those with `brew`: +``` +brew install youtube-dl ffmpeg +``` + +## Access tokens + +In order to query YouTube or Vimeo API you have to obtain an API token first. + +- [How to get YouTube API key](https://elfsight.com/help/how-to-get-youtube-api-key/) +- [Generate an access token for Vimeo](https://developer.vimeo.com/api/guides/start#generate-access-token) + +## Configuration example + +```toml +[server] +port = 8080 +data_dir = "/path/to/data/directory" +hostname = "http://hostname" + +[tokens] +youtube = "{YOUTUBE_API_TOKEN}" +vimeo = "{VIMEO_API_TOKEN}" + +[feeds] + [feeds.ID1] + url = "{FEED_URL}" # URL address of a channel, group, user, or playlist. + page_size = 50 # The number of episodes to query each update (keep in mind, that this might drain API token) + update_period = "12h" # How often query for updates, examples: "60m", "4h", "2h45m" + quality = "high" # or "low" + format = "video" # or "low" +``` + +Episodes files will be kept at: `/path/to/data/directory/ID1` + +Feed will be accessible from: `http://hostname/ID1.xml` + +## How to run + +Run as binary: +``` +$ ./podsync --config config.toml +``` + +Run via Docker: +``` +$ docker pull mxpv/podsync:latest +$ docker run \ + -p 8080:8080 \ + -v $(pwd)/data:/app/data/ \ + -v $(pwd)/config.toml:/app/config.toml \ + mxpv/podsync:latest +``` + +Run via Docker Compose: +``` +$ docker-compose up +``` + +## How to make a release - Add and push version tag ```