Updated README.md

This commit is contained in:
Brian McGonagill 2026-03-17 15:12:00 -05:00
parent cfb1f8ffbc
commit 53f7750e0d

View file

@ -50,15 +50,20 @@ Step 2. Run — replace `/your/video/path` with the real path on your host
A. Using `docker run`:
`mkdir -p data`
```
docker run -d \
--name videopress \
--restart unless-stopped \
-p 8080:8080 \
-v /your/video/path:/media \
-v ./data:/data \
videopress
```
B. Using Docker Compose
`mkdir -p data`
`docker compose up -d`
@ -120,6 +125,8 @@ Browser ──HTTP──▶ Gunicorn (gevent worker)
└─ POST /api/compress/cancel/<id>
```
**Why gevent?** SSE (`/api/compress/progress`) is a long-lived streaming
response. Standard Gunicorn sync workers block for its entire duration.
Gevent workers use cooperative greenlets so a single worker process can
@ -146,17 +153,44 @@ in-process job store with Redis.
```
videocompressor/
├── app.py ← Flask application + all API routes
├── wsgi.py ← Gunicorn entry point (imports app from app.py)
├── gunicorn.conf.py ← Gunicorn configuration (gevent, timeout, logging)
├── requirements.txt ← Python dependencies
├── Dockerfile ← Two-stage Docker build
├── docker-compose.yml ← Volume mapping, port, env vars
├── start.sh ← Helper script (dev + prod modes)
├── app
├── __init__.py
├── config.py
├── db.py
├── jobs.py
├── media.py
├── notify.py
└── routes.py
├── wsgi.py
├── gunicorn.conf.py
├── requirements.txt
├── Dockerfile
├── docker-compose.yml
├── start.sh
├── README.md
├── templates/
│ └── index.html
└── static/
├── css/main.css
└── js/app.js
├── css
└── main.css
└── js
├── app.js
└── modules
├── browser.js
├── compress.js
├── progress.js
├── scan.js
├── session.js
├── settings.js
├── state.js
├── stream.js
├── theme.js
└── utils.js
```
## Contribute
Feel free to clone the repository, make updates, and submit a pull request to make this more feature rich.
Keep in mind, I like to keep things fairly simple to use.
If you need to know too much about ffmpeg and how to configure the perfect compression, then that may be too much for this app, but feel free to fork this repository and make your own as well.