Merge pull request #1 from anosatsuk124/codex/write-readme
Add project documentation
This commit is contained in:
78
README.md
78
README.md
@ -1,15 +1,83 @@
|
||||
# podcast-generator
|
||||
# Voice RSS Summary
|
||||
|
||||
To install dependencies:
|
||||
Voice RSS Summary automatically collects RSS feeds, summarizes new articles using OpenAI, and publishes them as a podcast with speech synthesized by VOICEVOX. The project uses the Bun runtime with a React (Vite) front end and an SQLite database.
|
||||
|
||||
## Features
|
||||
|
||||
- Fetch multiple RSS feeds listed in `feed_urls.txt`.
|
||||
- Generate podcast scripts with the OpenAI API.
|
||||
- Convert scripts to audio using VOICEVOX and FFmpeg.
|
||||
- Serve a web interface to browse feeds and play episodes.
|
||||
- Provide a podcast RSS feed at `/podcast.xml`.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- [Bun](https://bun.sh/) 1.x (if running locally)
|
||||
- VOICEVOX engine
|
||||
- An OpenAI API key
|
||||
|
||||
## Installation
|
||||
|
||||
1. Install dependencies:
|
||||
|
||||
```bash
|
||||
bun install
|
||||
```
|
||||
|
||||
To run:
|
||||
2. Build the front end:
|
||||
|
||||
```bash
|
||||
bun run
|
||||
bun run build:frontend
|
||||
```
|
||||
|
||||
This project was created using `bun init` in bun v1.2.15. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
|
||||
3. Create a `.env` file and set the following variables:
|
||||
|
||||
```env
|
||||
OPENAI_API_KEY=your-api-key
|
||||
OPENAI_API_ENDPOINT=https://api.openai.com/v1
|
||||
OPENAI_MODEL_NAME=gpt-4o-mini
|
||||
VOICEVOX_HOST=http://localhost:50021
|
||||
VOICEVOX_STYLE_ID=0
|
||||
PODCAST_TITLE=Voice RSS Summary
|
||||
PODCAST_LINK=https://your-domain.com/podcast
|
||||
PODCAST_DESCRIPTION=Generated podcast feed
|
||||
PODCAST_LANGUAGE=ja
|
||||
PODCAST_AUTHOR=Admin
|
||||
PODCAST_CATEGORIES=Technology
|
||||
PODCAST_TTL=60
|
||||
PODCAST_BASE_URL=https://your-domain.com
|
||||
FEED_URLS_FILE=feed_urls.txt
|
||||
```
|
||||
|
||||
4. Prepare `feed_urls.txt` with one RSS feed URL per line.
|
||||
|
||||
5. Start the server:
|
||||
|
||||
```bash
|
||||
bun run server.ts
|
||||
```
|
||||
|
||||
The initial batch process runs on start and then every 24 hours.
|
||||
|
||||
## Docker
|
||||
|
||||
A Dockerfile and helper scripts are provided. To run in a container:
|
||||
|
||||
```bash
|
||||
./build-docker-image.sh
|
||||
./run-docker.sh
|
||||
```
|
||||
|
||||
These scripts mount `feed_urls.txt`, `.env`, `public/`, and `data/` for persistence.
|
||||
|
||||
## Directories
|
||||
|
||||
- `data/` – SQLite database (`podcast.db`)
|
||||
- `public/podcast_audio/` – generated MP3 files
|
||||
- `frontend/` – Vite React application (served on build)
|
||||
|
||||
Access the web UI and podcast feed on `http://localhost:3000/` after the server starts.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the [Apache 2.0 License](LICENSE).
|
||||
|
Reference in New Issue
Block a user