doc: readme

This commit is contained in:
eneller
2025-04-05 16:51:31 +02:00
parent bceaf6904a
commit d1ed7ec389

View File

@@ -5,4 +5,31 @@ A simple Website to provide a `NNI (Non-Nerd Interface)` to [epub2go.py](https:/
This project uses [watchman](https://facebook.github.io/watchman/) for file watching and reloading.
Follow the [official instructions](https://facebook.github.io/watchman/docs/install.html) for your system to install, django will default to its standard watcher otherwise.
Also, [celery](https://docs.celeryq.dev/en/stable/) is used as a task queue with [redis](https://hub.docker.com/_/redis) as backend.
To run the server, install the dependencies described in `pyproject.toml` and `uv.lock`
in a virtual environment, ideally using [uv](https://docs.astral.sh/uv/) (or pip).
[Celery](https://docs.celeryq.dev/en/stable/) is used as a task queue with [redis](https://hub.docker.com/_/redis) as backend.
A container for it is provided in the `docker-compose.yml`.
After the container is up, simply start your Celery workers from `src/` using
```bash
celery -A epub2go_web worker --loglevel=INFO
```
Finally, run the **development** server using
```bash
python manage.py runserver
```
## Deployment
Follow the Development instructions, except replace the final command for the development server with
```bash
gunicorn -c gunicorn.py
```
[Gunicorn](https://gunicorn.org/) does not serve static files and is intended to be deployed behind [nginx](https://nginx.org/).
An example configuration is provided in `nginx.conf`.
To collect the static files for nginx, run
```bash
python manage.py collectstatic
```
and point nginx to the resulting folder.