Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A HTML/JS based web album solution
JavaScript PHP CSS
Tree: 2c1cffe08b

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
.htaccess
COPYING
README
TODO
album-watch.php
album-watch.service
album.css
album.js
config.php.example
db.php
exif.php
go-next.png
go-previous.png
image.php
index.html
robots.txt

README

Album - a simple and sturdy HTML5/Js photo web album

This code is (C) 2010-2012 - Auke Kok <auke@foo-projects.org>

===


Why yet another web photo album?

There are many excellent photo albums on the web. Some are trivial,
some are complex.  None of them worked for me. Complex is great, it
means many features, but also fragility and complexity in setting up,
including many obscure requirements.

After yet another gallery database crash wiping out my 10k large
private collection database, I realized that DB's are evil for
something that should be simple.

So, I set out to make a trivial, fast and simple photo album leveraging
the browser and a mostly vanilla apache+php setup, without database.

Design considerations:

- no DB
- on demand thumbnail generation
- server side caching of thumbnails
- no page reloading ever
- html5 video support
- image preloading to improve album browsing speed
- keyboard navigation enabled
- slideshow support


===


How to install?

 Prerequisites:
  - A httpd server. Any should do.
  - PHP 5
    Any PHP server version should do, but compat issues are not
    looked at. The following features should be on in the PHP build:
     - GD
     - EXIF
  - pecl inotify
    `pecl install inotify` to install this automatically
  - A webserver writable cache folder with plenty of space
  - ffmpeg with codecs as needed:
     - libvorbis
     - libtheora
     - libx264
     - faac

Git clone the project and point your browser to the project root folder. Edit
config.php and enter users. Make sure you change the cache folder location if
needed.

To enable recoding of video's for the web, either use the provided systemd unit
file and edit it to point to the right locations and usernames, and keep
it running as a daemon. When you first run it, it will recode all the video's
as needed to make sure every video is playable. This procedure can take quite
a bit of time.


===

Demo album.

A demonstration album can be found at: http://foo-projects.org/~sofar/album/.

Something went wrong with that request. Please try again.