1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
pigallery2/README.md
2017-07-12 18:35:23 +02:00

3.8 KiB

PiGallery2

npm version Build Status Coverage Status Heroku Code Climate Dependency Status devDependency Status

This is a directory-first photo gallery website, optimised for running on low resource servers (especially on raspberry pi)

Live Demo

Live Demo @ heroku: https://pigallery2.herokuapp.com/

Install (on Raspberry Pi 1)

Install NodeJs

Download and extract

cd ~
wget https://nodejs.org/dist/v6.10.3/node-v6.10.3-linux-armv6l.tar.gz
tar -xzf node-v6.10.3-linux-armv6l.tar.gz

Copy it to /usr/local:

cd node-v6.10.3-linux-armv6l/
sudo cp -R * /usr/local/

Add to path. Add the following line to ~/.bashrc

PATH=$PATH:/usr/local/bin

Full node install description: https://raspberrypi.stackexchange.com/questions/48303/install-nodejs-for-all-raspberry-pi

Install PiGallery2

Install from release

cd ~
wget https://github.com/bpatrik/pigallery2/releases/download/1.0.0-beta.3/pigallery2.zip
unzip pigallery2
cd pigallery2
npm install

Install from source

cd ~
wget https://github.com/bpatrik/pigallery2/archive/master.zip
unzip master.zip
cd pigallery2 # enter the unzipped directory
npm install
npm run build #explicitly building the project (releases are prebuilt)

Run PiGallery2

npm start

To configure it. Run PiGallery2 first to create config.json file, then edit it and restart.

Feature list

  • Rendering directories as it is
    • Listing subdirectories recursively
    • Listing photos in a nice grid layout
      • supporting most common image formats
      • showing tag/keywords, locations, GPS coordinates for photos
      • rendering photos on demand (on scroll)
  • On the fly thumbnail generation in several sizes
    • prioritizes thumbnail generation (generating thumbnail first for the visible photos)
    • saving generated thumbnails to TEMP folder for reuse
    • supporting several core CPU
    • supporting hardware acceleration (sharp and gm as optional and JS-based Jimp as fallback)
  • Custom lightbox for full screen photo viewing
    • keyboard support for navigation
    • showing low-res thumbnail while full image loads
    • Information panel for showing Exif info
    • Automatic playing
  • Client side caching (directories and search results)
  • Rendering photos with GPS coordinates on google map
    • .gpx file support - future plan
  • Two modes: SQL database and no-database mode
    • both modes supports
      • user management
      • password protection can be disabled/enabled
    • database mode supports:
      • faster directory listing
      • searching
        • instant search, auto complete
      • sharing
        • setting link expiration time
  • Nice design - In progress
    • responsive design (phone, tablet desktop support)
  • Setup page - In progress
  • Markdown based blogging support - future plan
    • you can write some note in the blog.md for every directory
  • bug free :) - In progress