Skip to content

eneller/epub2go-web

Repository files navigation

epub2go-web

A simple Website to provide a NNI (Non-Nerd Interface) to epub2go.py, a web to epub converter.

Development

This project uses watchman for file watching and reloading. Follow the official instructions for your system to install, django will default to its standard watcher otherwise.

To run the server, install the dependencies described in pyproject.toml and uv.lock in a virtual environment, ideally using uv (or pip).

Celery is used as a task queue with redis as backend. A container for it is provided in the src/docker-compose.yml. After the container is up, simply start your Celery workers from src/ using

celery -A epub2go_web worker --loglevel=INFO

Finally, run the development server using

python manage.py runserver

Deployment

Gunicorn does not serve static files and is intended to be deployed behind nginx. An example configuration is provided in nginx.conf.

To collect the static files for nginx, run

python manage.py collectstatic

and point nginx to the resulting folder.

Docker

Run the docker-compose.yml in the project root using

docker compose up

Manual

Follow the Development instructions, except replace the final command for the development server with

gunicorn -c gunicorn.py