Git Product home page Git Product logo

pyrellag's Introduction

Pyrellag

Description

Pyrellag is a very simple, fast, low-overhead media gallery viewer, suitable for huge collections of media.

For reference, it's able to scan from scratch a 7GB collection of photos/videos in under 2 minutes.

This software is released under the GNU AFFERO GENERAL PUBLIC LICENSE. Please see LICENSE file for more information. Most icons come from Iconic and are licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. Please see static/icons/LICENSE and static/icons/AUTHORS files for more information.

Main features

  • View all your videos and images from the browser.
  • Touch interface friendly (tablets, cellphones) and poweruser-friendly (key shortcuts).
  • Choose between public gallery or private gallery:
    • Authentication via OpenID (Google, Yahoo, Flickr...).
    • Authorization via simple user groups, on a folder-by-folder basis.
  • Extract and run! No need to set up external databases.
  • No need to "upload", "register" or move your photos anywhere: just tell Pyrellag where in the disk your stuff is, and off you go!

Screenshots

alt tag

alt tag

alt tag

Instructions

Quick set up:

  1. Create a directory named data, and put all your media directories there (symlink is fine too).
  2. Install the required dependencies: $ ./get_libs.sh
  3. Run the gallery server: $ ./pyrellag.py

Open the resulting URL in your browser. The first user that registers will get administrator rights.

Offline thumbnails generation (this is optional, only if you want to manually trigger the update of all thumbnails):

  • Run $ ./scan_gallery.py

Configuration

You can edit the configuration file (config.json) either directly on your filesystem, or using the "configuration" link near your username (you must be administrator for the link to show).

  • debug_mode_enabled: only set to true if you are a programmer and are working on Pyrellag source.
  • follow_freedesktop_standard: if set to true, thumbnails generated by Purellag will be usable by other apps. If set to false, you can instead be free to move your gallery around the harddisk without needing to regenerate the thumbnails each time.
  • profile_creation_enabled: allow or disallow creation of new user profiles (won't delete nor disable existing profiles).
  • public_access : if true, anybody can view the whole gallery. If false, authorization is needed everywhere.

Authorization

By default, your Pyrellag gallery will be publicly viewable by anybody.

If you need privacy, you may want to limit who can view which galleries.

To this end, Pyrellag implements a group-based authorization system: you can define who belongs to each group, and which groups can view each directory:

  1. Log in as the administrator user (first user ever registered).
  2. Disable public_access in the configuration (top-right link).
  3. Create a file named .access in each directory of your gallery, and write which groups can view the contents(*). If no .access file exists, that directory won't be accessible.
  4. Finally, open the profiles editor (top-right link), and fill the user groups that each profile belongs to.

(*) Example: to only allow family and friends groups to view your vacations photos, write this to the data/photos/vacations/.access file:

family
friends

That's it. Now only authorized users will be able to see stuff, always according to the groups they belong to.

ToDo

Some stuff I'd like to do in the future:

  • Use an animated gif with select frames for video thumbnails.

Contact

You can notify me about problems and feature requests at the issue tracker

Feel free to hack the code and send me GitHub pull requests, or traditional patches too; I'll be more than happy to merge them.

For personal praise and negative critics, the author Bruno Gonzalez can be reached at [email protected] and /dev/null respectively :-D

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.