No description
Find a file
2026-01-05 02:28:31 -05:00
.github/workflows Improve UI aesthetics, generalize Docker config, and add GitHub Action for auto-build 2026-01-05 01:01:27 -05:00
templates Optimize Recovery Scan: Implement Async Backend & UI Polling for large libraries 2026-01-05 02:23:08 -05:00
.gitignore Implement video transcoding, add dashboard UI, and cleanup repository 2026-01-01 00:39:28 -05:00
docker-compose.yml Implement Recovery Mode: Use yt-dlp to recover missing metadata for unindexed files 2026-01-05 01:21:38 -05:00
Dockerfile Implement Recovery Mode: Use yt-dlp to recover missing metadata for unindexed files 2026-01-05 01:21:38 -05:00
README.md Update README.md 2025-04-12 15:38:50 -04:00
requirements.txt Add Basic Auth and optimize Docker build 2026-01-04 23:15:17 -05:00
ta_symlink.py Fix: Add missing datetime import 2026-01-05 02:28:31 -05:00
test_api.py feat: Introduce scheduled background scanning, old folder cleanup, and optimize metadata fetching with updated Docker configuration and API tests. 2025-11-20 01:45:38 -05:00

TA Organizer

📂 Automatically organizes TubeArchivist downloads into human-readable folder structures using symlinks and metadata.


Features

  • Organizes downloaded videos by:
    • Channel name
    • Publish date
    • Video title
  • Uses TubeArchivists API to fetch video metadata
  • Creates symbolic links — leaving original files untouched
  • Dockerized for easy deployment
  • Supports Unraid and other Docker environments

🚀 Getting Started

Requirements

  • Python 3.11+
  • Docker + Docker Compose
  • A running TubeArchivist instance

🔧 Configuration

Create a .env file in the root of the repo:

# Required
API_TOKEN=your_api_token_here

# Optional overrides
API_URL=http://localhost:8457/api
VIDEO_URL=http://localhost:8457/video

🐳 Docker Usage

  1. Clone this repo and navigate into it:
git clone https://github.com/Salpertio/ta-organizer.git
cd ta-organizer
  1. Edit the docker-compose.yml to point to your source/target folders:
volumes:
  - /your/path/to/downloaded/videos:/app/source:ro
  - /your/target/path:/app/target
  1. Run the container:
docker compose up --build

📁 Example Output Structure

/app/target/
├── Channel Name/
│   ├── 2025-01-01 - Example Title/
│   │   └── video.mp4 (symlink)

🧰 Troubleshooting

If the script silently skips some files, ensure:

  • The video exists in TubeArchivist
  • Metadata is accessible via the API
  • The video_id matches the filename stem

🛡️ License

MIT — do whatever you want, just give credit if you use it.


🙌 Credits

Built by Salpertio to tame the TubeArchivist folder jungle 🌴