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
Braun Patrik a5e5f90ba6 improving authentication handling
implementing remember me
2017-07-16 10:59:28 +02:00
backend improving authentication handling 2017-07-16 10:59:28 +02:00
common improving authentication handling 2017-07-16 10:59:28 +02:00
demo/images adding more demo images 2016-06-25 10:13:04 +02:00
frontend improving authentication handling 2017-07-16 10:59:28 +02:00
test adding jpeg metadata parsing test 2017-07-15 21:04:41 +02:00
.angular-cli.json implementing thumbnail settings 2017-07-15 12:47:11 +02:00
.editorconfig adding angular-cli support (causes major refactoring) 2017-06-10 22:32:56 +02:00
.gitignore updating gulp file of building release 2017-07-11 22:10:36 +02:00
.npmignore improving release scripts 2017-06-02 23:48:46 +02:00
.travis.yml updating gulp file of building release 2017-07-11 22:10:36 +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 improving authentication handling 2017-07-16 10:59:28 +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 readme update 2017-07-12 18:35:23 +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
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