Update README with KV-Download branding, Docker instructions, and file structure docs
This commit is contained in:
parent
7fa9f00cce
commit
d707e5502b
1 changed files with 61 additions and 15 deletions
76
README.md
76
README.md
|
|
@ -1,6 +1,7 @@
|
||||||
# Media Roller
|
# KV-Download (Media Roller)
|
||||||
|
|
||||||
A mobile friendly tool for downloading videos from social media.
|
A mobile friendly tool for downloading videos from social media.
|
||||||
The backend is a Golang server that will take a URL (YouTube, Reddit, Twitter, etc),
|
The backend is a Golang server that will take a URL (YouTube, Reddit, Twitter, TikTok, Instagram, etc),
|
||||||
download the video file, and return a URL to directly download the video. The video will be transcoded to produce a single mp4 file.
|
download the video file, and return a URL to directly download the video. The video will be transcoded to produce a single mp4 file.
|
||||||
|
|
||||||
This is built on [yt-dlp](https://github.com/yt-dlp/yt-dlp). yt-dlp will auto update every 12 hours to make sure it's running the latest nightly build.
|
This is built on [yt-dlp](https://github.com/yt-dlp/yt-dlp). yt-dlp will auto update every 12 hours to make sure it's running the latest nightly build.
|
||||||
|
|
@ -11,33 +12,76 @@ Note: This was written to run on a home network and should not be exposed to pub
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
# Running
|
# Running
|
||||||
|
|
||||||
Make sure you have [yt-dlp](https://github.com/yt-dlp/yt-dlp) and [FFmpeg](https://github.com/FFmpeg/FFmpeg) installed then pull the repo and run:
|
Make sure you have [yt-dlp](https://github.com/yt-dlp/yt-dlp) and [FFmpeg](https://github.com/FFmpeg/FFmpeg) installed then pull the repo and run:
|
||||||
```bash
|
```bash
|
||||||
./run.sh
|
./run.sh
|
||||||
```
|
```
|
||||||
Or for docker locally:
|
Or for docker locally:
|
||||||
```bash
|
```bash
|
||||||
./docker-build.sh
|
./docker-build.sh
|
||||||
./docker-run.sh
|
./docker-run.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
With Docker, published to both dockerhub and github.
|
## Docker Image
|
||||||
* ghcr: `docker pull ghcr.io/rroller/media-roller:master`
|
|
||||||
* dockerhub: `docker pull ronnieroller/media-roller`
|
|
||||||
|
|
||||||
See:
|
The Docker image is available from the Forgejo container registry:
|
||||||
* https://github.com/rroller/media-roller/pkgs/container/media-roller
|
|
||||||
* https://hub.docker.com/repository/docker/ronnieroller/media-roller
|
|
||||||
|
|
||||||
The files are saved to the /download directory which you can mount as needed.
|
```bash
|
||||||
|
docker pull git.khoavo.myds.me/vndangkhoa/kv-download:latest
|
||||||
|
```
|
||||||
|
|
||||||
## Docker Environemnt Variables
|
### Deploy on Synology NAS
|
||||||
|
|
||||||
|
1. Load the image (if using local transfer):
|
||||||
|
```bash
|
||||||
|
docker load -i kv-download.tar
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Run with docker-compose:
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
kv-download:
|
||||||
|
image: git.khoavo.myds.me/vndangkhoa/kv-download:latest
|
||||||
|
container_name: kv-download
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "9292:9292"
|
||||||
|
volumes:
|
||||||
|
- /volume2/docker/kv-download/download:/download
|
||||||
|
environment:
|
||||||
|
- MR_DOWNLOAD_DIR=/download
|
||||||
|
- TZ=Asia/Ho_Chi_Minh
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build Your Own Image
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker build -t kv-download:latest --platform linux/amd64 .
|
||||||
|
```
|
||||||
|
|
||||||
|
## Docker Environment Variables
|
||||||
* `MR_DOWNLOAD_DIR` where videos are saved. Defaults to `/download`
|
* `MR_DOWNLOAD_DIR` where videos are saved. Defaults to `/download`
|
||||||
* `MR_PROXY` will pass the value to yt-dlp witht he `--proxy` argument. Defaults to empty
|
* `MR_PROXY` will pass the value to yt-dlp with the `--proxy` argument. Defaults to empty
|
||||||
|
|
||||||
|
## File Structure
|
||||||
|
|
||||||
|
After downloading videos, files are organized as follows:
|
||||||
|
```
|
||||||
|
/download/
|
||||||
|
├── <hash>/
|
||||||
|
│ └── <video-id>.mp4 # Video files
|
||||||
|
└── json/
|
||||||
|
└── <video-id>.info.json # Metadata files (separate folder)
|
||||||
|
```
|
||||||
|
|
||||||
# API
|
# API
|
||||||
|
|
||||||
To download a video directly, use the API endpoint:
|
To download a video directly, use the API endpoint:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
@ -47,13 +91,15 @@ To download a video directly, use the API endpoint:
|
||||||
Create a bookmarklet, allowing one click downloads (From a PC):
|
Create a bookmarklet, allowing one click downloads (From a PC):
|
||||||
|
|
||||||
```
|
```
|
||||||
javascript:(location.href="http://127.0.0.1:3000/fetch?url="+encodeURIComponent(location.href));
|
javascript:(location.href="http://127.0.0.1:9292/fetch?url="+encodeURIComponent(location.href));
|
||||||
```
|
```
|
||||||
|
|
||||||
# Integrating with mobile
|
# Integrating with mobile
|
||||||
|
|
||||||
After you have your server up, install this shortcut. Update the endpoint to your server address by editing the shortcut before running it.
|
After you have your server up, install this shortcut. Update the endpoint to your server address by editing the shortcut before running it.
|
||||||
|
|
||||||
https://www.icloud.com/shortcuts/d3b05b78eb434496ab28dd91e1c79615
|
https://www.icloud.com/shortcuts/d3b05b78eb434496ab28dd91e1c79615
|
||||||
|
|
||||||
# Unraid
|
# Unraid
|
||||||
|
|
||||||
media-roller is available in Unraid and can be found on the "Apps" tab by searching its name.
|
media-roller is available in Unraid and can be found on the "Apps" tab by searching its name.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue