Skip to content

Simple http wrapper around WeasPrint html to pdf convertor

License

Notifications You must be signed in to change notification settings

CodeursenLiberte/weasyprint_server

 
 

Repository files navigation

WeasyPrint server

But

Convertir des documents html en pdf.

Production

  1. Télécharger le paquet .deb depuis la page Releases.

  2. Installer le paquet :

    dpkg -i tmp/weasyprint_server_2026-01-15-14-18+c744464_amd64.deb
  3. Lancer le serveur :

    BASE_URL=http://127.0.0.1:4000 UWSGI_HTTP_SOCKET=0.0.0.0:8000 UWSGI_STATS=0.0.0.0:9191 UWSGI_PROCESSES=4 UWSGI_ENABLE_THREADS=true UWSGI_MODULE=wsgi:app UWSGI_CHDIR=/opt/weasyprint/app /opt/weasyprint/app/.venv/bin/uwsgi

Configuration

La configuration se fait par variables d'environnement.

  • BASE_URL: URL vers le chemin de base des assets (css, images, etc).
  • UWSGI_HTTP_SOCKET: l'IP et le port sur lequel binder le serveur.
  • UWSGI_PROCESSES: nombre de processus par instance du serveur (valeur conseillée : 4).
  • UWSGI_MODULE: module WSGI racine à charger (valeur conseillée : wsgi:app).
  • UWSGI_ENABLE_THREADS: active l'utilisation des threads (valeur conseillée : true)
  • SENTRY_DSN (optionnel): identifiant Sentry pour la remontée des exceptions applicatives.

Développement

installation

On utilise uv pour gérer python et ces dépendances.

On copy les variables d'env

cp env.example .env

Pour macosx il faut ajouter ces 2 étapes :

1- installer weasyprint avec homebrew

brew install weasyprint

2- éxécuter cette ligne de commande

export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib:$DYLD_FALLBACK_LIBRARY_PATH

lancement de l'application

uv run flask run --debug

# or any process manager reading Procfile.dev
overmind start

tests

uv run python -m unittest

linters

uv run ruff format --check && uv run ruff check

Packaging

  • Builder un paquet .deb: cd package_scripts && build.sh
  • Lancer le serveur dans un conteneur Docker : cd package_scripts && run.sh
  • Les deux d'un coup: cd package.sh && main.sh

About

Simple http wrapper around WeasPrint html to pdf convertor

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 64.4%
  • Shell 33.6%
  • Dockerfile 2.0%