Skip to content

Standalone Node.js Express application for nice and quick browsing your multimedia files.

License

Notifications You must be signed in to change notification settings

DJTommek/pldr-gallery

Repository files navigation

pldrGallery

Standalone Node.js Express application for nice and quick browsing of your multimedia files.

Live demo

https://pldr-gallery.redilap.cz/

This exact demo is included in the source code, just follow Installation instructions.

Requirements

  • 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.

Optional

  • ffmpeg for generating thumbnails for video files
  • ffprobe for reading metadata (eg. coordinates) from video files

Installation

  1. Clone DJTommek/pldr-gallery repository

  2. Run npm install

  3. Run node src/bin/prepare-config.js to generate local config data/config.local.js.

    Update all necessary details (most importantly config.db.knex.connection.*)

  4. Run node src/bin/prepare-db.js to create all required tables. Add argument --help for more info.

  5. Run node index.js

  6. Open http://localhost:3000/

Docker is fully supported, see this page for more info.

Features

  • 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...

Testing

  1. Install development dependencies via npm install

  2. Run npm test

Note

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.

About

Standalone Node.js Express application for nice and quick browsing your multimedia files.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •