1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
A fast directory-first photo gallery website, with rich UI, optimized for running on low resource servers (especially on raspberry pi)
Go to file
2017-07-20 23:49:27 +02:00
backend adding sqlite support, removing mysql required dependency 2017-07-20 23:37:10 +02:00
common adding sqlite support, removing mysql required dependency 2017-07-20 23:37:10 +02:00
demo/images adding more demo images 2016-06-25 10:13:04 +02:00
frontend adding sqlite support, removing mysql required dependency 2017-07-20 23:37:10 +02:00
test fixing tests 2017-07-19 10:37:00 +02:00
.angular-cli.json minor bugfixes 2017-07-19 10:21:52 +02:00
.editorconfig adding angular-cli support (causes major refactoring) 2017-06-10 22:32:56 +02:00
.gitignore simplifying deployment 2017-07-20 23:49:27 +02:00
.npmignore improving release scripts 2017-06-02 23:48:46 +02:00
.travis.yml simplifying deployment 2017-07-20 23:49:27 +02:00
gulpfile.js updating releasing tools 2017-07-11 22:23:07 +02:00
karma.conf.js folder settings bugfix 2017-07-15 17:48:29 +02:00
LICENSE Initial commit 2016-03-12 12:46:42 +01:00
package.json simplifying deployment 2017-07-20 23:49:27 +02:00
Procfile heroku fix 2017-07-10 10:14:33 +02:00
protractor.conf.js folder settings bugfix 2017-07-15 17:48:29 +02:00
README.md simplifying deployment 2017-07-20 23:49:27 +02:00
tsconfig.json implementing sharing 2017-07-03 19:17:49 +02:00
tslint.json adding angular-cli support (causes major refactoring) 2017-06-10 22:32:56 +02:00
USERRIGHTS.md improving sharing 2017-07-09 12:03:17 +02:00

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

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
    • gesture support (swipe left, right, up)
  • 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