Files
ytdlp-site/README.md
Carl Pearson da720508b1 readme
2024-10-17 06:16:39 -06:00

73 lines
2.0 KiB
Markdown

# ytdlp-site
```
go mod tidy
```
```bash
export YTDLP_SITE_ADMIN_INITIAL_PASSWORD=abc123
export YTDLP_SITE_SESSION_AUTH_KEY=v9qpt37hc4qpmhf
go run \
-ldflags "-X ytdlp-site/config.gitSHA=$(git rev-parse HEAD) -X ytdlp-site/config.buildDate=$(date +%Y-%m-%d)" \
*.go
```
## Environment Variables
* `YTDLP_SITE_ADMIN_INITIAL_PASSWORD`: password of the `admin` account, if the account does not exist
* `YTDLP_SITE_SESSION_AUTH_KEY`: admin-selected secret key for the cookie store
* `YTDLP_SITE_SECURE`: set to `ON` for HTTPS deployments
## Docker
```bash
docker build --build-arg GIT_SHA=$(git rev-parse HEAD) \
-t server .
docker run --rm -it \
-p 3000:8080 \
--env YTDLP_SITE_ADMIN_INITIAL_PASSWORD=abc123 \
--env YTDLP_SITE_SESSION_AUTH_KEY=avowt7n8 \
server
docker run --rm -it \
-p 3000:8080 \
--env YTDLP_SITE_DATA_DIR=/data \
--env YTDLP_SITE_CONFIG_DIR=/config \
--env YTDLP_SITE_ADMIN_INITIAL_PASSWORD=abc123 \
-v $(realpath data):/data \
server
```
## GHCR Deploy
Build and push this container to ghcr
* Create a "personal access token (classic)" with write:packages
* account > settings > developer settings > personal access tokens > tokens (classic) > generate new token (classic)
* Put that personal access token as the repository actions secret `GHCR_TOKEN`.
## Roadmap
- [ ] edit original metadata
- [ ] Download playlists
- [ ] change from Audio -> Video
- [x] Provide a better name for downloaded files
- [x] Environment variable to control whether "Secure" flag set on cookie
- [x] Allow custom FPS for video transcode
- [x] Provide an about page
- [x] `ffmpeg` version
- [x] `yt-dlp` version
- [x] disk space
- [ ] add progress bar to represent usage
- [ ] CPU history
- [ ] skip buttons for audio player
- [ ] Track progress via video URL rather than ID
- [ ] Show author on video page
- [ ] Link to author on video page
- [ ] Link to author on videos page
- [ ] video clips
- [ ] move original video to bottom
- [x] sort videos most to least recent
- [x] header on playlist page