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