Carl Pearson f668f59f70
All checks were successful
Build and Deploy ytdlp-site / build-deploy (push) Successful in 8m38s
ci: github -> gitea
2025-09-01 04:27:47 -06:00
2025-08-29 09:18:38 -06:00
2025-09-01 04:27:47 -06:00
2024-12-05 06:04:29 -07:00
2024-10-11 06:25:25 -06:00
2024-10-14 05:36:34 -06:00
2025-05-01 05:50:53 -06:00
2024-11-06 09:32:37 -07:00
2025-05-02 05:51:52 -06:00
2025-05-02 05:51:52 -06:00
2025-05-02 05:51:52 -06:00
2024-10-19 06:02:54 -06:00
2025-08-29 09:42:27 -06:00
2024-10-14 05:36:34 -06:00
2024-09-21 06:22:34 -06:00
2025-05-02 05:51:52 -06:00
2024-10-11 06:25:25 -06:00
2024-11-05 05:27:30 -07:00
2025-05-02 05:55:33 -06:00
2025-02-20 06:01:51 -07:00

ytdlp-site

go mod tidy
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

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=/data/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

  • Video Page
    • Link to author
  • Videos Page
    • Link to author
  • License
  • Delete failed videos
  • edit original metadata
  • Playlists
    • Refresh
  • change from Audio -> Video
  • Provide a better name for downloaded files
  • Environment variable to control whether "Secure" flag set on cookie
  • Allow custom FPS for video transcode
  • Provide an about page
    • ffmpeg version
    • yt-dlp version
    • disk space
      • add progress bar to represent usage
    • CPU history
  • skip buttons for audio player
  • Track progress via video URL rather than ID
  • video clips
  • move original video to bottom
  • sort videos most to least recent
  • header on playlist page
  • Choose database directory
  • add extension to download
  • server-side watch progress
Description
No description provided
Readme 187 KiB
Languages
Go 71.3%
HTML 15.9%
JavaScript 6%
CSS 4.2%
Shell 1.5%
Other 1.1%