A beautiful file indexer written in Python with Quart.
- Customizable with theme support
- Clickable breadcrumb (the "Index of" bar)
- Supports global and per-folder header and footer pages
- Cached, in-line and expandable image and video thumbnails
- Embedded index thumbnails
- Allows in-browser playback of
.movand.mkvfiles with mimetype spoofing - Still serves your files
This should all be done within a container using either Docker or LXC with read-only access to your directory.
- Install
opencv2 wkhtmltopdffrom your system's repositories- Debian/Ubuntu users should replace
opencv2withlibopencv-dev
- Debian/Ubuntu users should replace
- Install
pydantic pydantic_settings aiofile aiopath opencv-python av quart imgkit jinja2 markdown markupsafe opencv-python pillow yamlto your Python installation- FIXME: package names for Quart are likely wrong
- Arch Linux users should install
python-pydantic python-opencv python-quart python-jinja2 python-markdown python-pillow python-av python-yaml - Debian/Ubuntu users should install
python3-pydantic python3-quart python3-opencv python3-jinja2 python3-commonmark python3-markupsafe python3-av python3-yaml python3-pil pydantic_settings aiofile aiopath imgkitstill needs to be installed from PyPI usingpip
- Copy
config.example.yamltoconfig.yamlin the same directory asapp.pyand edit to your liking - FIXME: uWSGI doesn't work for this anymore
Copyuwsgi.inito/etc/uwsgi/histoire.iniand edit to your likingCreate thethumbimage_cache_diras specified inconfig.yamland the uwsgi socket directory as specified bysocketin/etc/uwsgi/histoire.iniand set the permissions to the same user and group as specified in/etc/uwsgi/histoire.iniStart[email protected]withsystemctlor run/usr/bin/uwsgi --ini /etc/uwsgi/histoire.inias a background process asrootSet your web server to pass the path you want for Histoire to run on using (u)WSGI to the UNIX socket file specified bysocketin/etc/uwsgi/histoire.ininginx users should useinclude uwsgi_params; uwsgi_pass unix:/run/uwsgi/histoire.sock;