Python web app to publish documentation compiled using Sphinx
Go to file
Youen ee3babc469 Added code to avoid building the same document multiple times concurrently
Also avoids compiling too many PDF at the same time (configurable)
Also skips useless build tasks (if another build task is already pending to start)
2023-05-18 23:12:14 +02:00
src Added code to avoid building the same document multiple times concurrently 2023-05-18 23:12:14 +02:00
.gitignore implemented authentication to access admin pages 2022-08-13 22:58:37 +02:00
debug_config.py refactored configuration system 2022-08-14 18:40:44 +02:00
debug.sh refactored configuration system 2022-08-14 18:40:44 +02:00
LICENSE Initial commit 2022-08-08 22:05:34 +01:00
pdftoc-to-latex Added code to generate PDF 2023-04-27 18:38:05 +02:00
README.md Added instructions to run the application in production 2022-08-15 21:53:31 +01:00
requirements.txt Added modules for PDF compilation 2023-05-10 21:45:58 +02:00

Python web app to publish documentation compiled using Sphinx

Installation

cd sphinx-web
python3 -m venv venv
source venv/bin/activate # on Windows execute instead: venv\Scripts\activate.bat
pip install -U pip setuptools wheel
pip install -r requirements.txt

Executing in a producton environment

cd sphinx-web
source venv/bin/activate
pip install waitress

Create your configuration file, for example /etc/sphinx-web/config.py:

ADMIN_PASSWORD = 'specify a strong password here'
BEHIND_REVERSE_PROXY = False # Set to True if you use a reverse proxy such as nginx

Start the application:

cd sphinx-web/src
source ../venv/bin/activate
CONFIG_PATH=/etc/sphinx-web/config.py waitress-serve --port 8080 --call "app:create_app"

Development

Update dependencies

After activating the virtual environment, run this command to update the list of dependencies with what is currently installed:

pip freeze > requirements.txt