YouTube Summarizer is a tool that integrates with Raindrop.io to manage a queue of YouTube links, pull their transcriptions, generate summaries using OpenAI, and send the summaries back to Raindrop.io.
- Queue Management: Use Raindrop.io to manage a queue of YouTube links.
- Transcription: Automatically pull transcriptions for YouTube videos.
- Summarization: Generate summaries of YouTube transcriptions using OpenAI.
- Integration: Send the generated summaries back to Raindrop.io.
- Docker
- Docker Compose
- Bun (JavaScript runtime; drop-in replacement for Node.js)
- Raindrop.io account
- OpenAI API Key
- Clone the repository:
git clone https://github.com/yourusername/youtube-summarizer.git
cd youtube-summarizer
- Copy the configuration template and edit it:
cp config/_template.yaml config/production.yaml
# Edit config/production.yaml with your preferred settings
- Build and start the application using Docker Compose:
docker compose build
docker compose up -d
Install the dependencies:
bun install
To start the application for local development:
bun src/index.ts config/production.yaml
To run a single script:
bun <script_name>
To run tests, you can execute the test functions directly
in the ./src/langchain-openai.ts
or ./src/youtube.ts files.
For more details, see the script's if (import.meta.main) {}
block.
To build the Docker image:
docker buildx build --platform linux/arm64 -t local/youtube-summarizer .
To format the code using Prettier:
bun x prettier --write .
This project is licensed under the MIT License.