Standalone Node.js Express application for nice and quick browsing of your multimedia files.
https://pldr-gallery.redilap.cz/
This exact demo is included in the source code, just follow Installation instructions.
- Node.js (currently developed with Node.js 20.10.0)
- MySQL / MariaDB (currently developed with MariaDB 11.2.2)
It might work with older/newer versions, try it.
- ffmpeg for generating thumbnails for video files
- ffprobe for reading metadata (eg. coordinates) from video files
-
Clone DJTommek/pldr-gallery repository
-
Run
npm install
-
Run
node src/bin/prepare-config.js
to generate local configdata/config.local.js
.Update all necessary details (most importantly
config.db.knex.connection.*
) -
Run
node src/bin/prepare-db.js
to create all required tables. Add argument--help
for more info. -
Run
node index.js
Docker is fully supported, see this page for more info.
- Fast browsing of folders and files on your hard drive without any need to reload the page
- Image, video and audio is fully supported thanks to HML5. Other files can be downloaded directly
- Support for Google login and shareable links (passwords)
- Optional HTTPS support
- Even if you know URL to a file or a folder, you will not access it unless you have permission.
- Permissions are set individually for each folder or file, and can be customized as needed
- Data saver to run even on slow internet connection (server upload or client download)
- Relax with presentation mode
- Show images on map based on EXIF data
- Save your eyes with dark theme
- Use keyboard for almost everything
- Show folder images as thumbnails
- Download all/some files and/or folders as ZIP
- And much more...
-
Install development dependencies via
npm install
-
Run
npm test
Integrations tests (currently only test/webserver.js
are using real config file and expecting default values so it might fail for your run. Recommended to run tests after clean install.
Also application should be offline - integration tests will start it's own server instance on port defined in config.