image database, album, and gallery
PhotoFS is a web-based photo album or image gallery, based on the
files-as-directories and attributes-as-files concepts at the core of the
ReiserFS V4 filesystem. It does not require reiser4, but is much more
efficient on that system than on others.
It does many of the same things as other web galleries, at least as far as the
basics go. What makes it different is its use of the filesystem instead of a
database. It allows you to use regular unix tools to access your photo
collection. Another primary feature is the use of multiple categories per
image, so a picture of five people can be in five people's categories.
It also supports unlimited filetypes, and you can assign any image you like to
visually represent each file. (default icons are provided or generated too)
Extensive access controls are provided for the web interface, to allow
different people to see different files.
- Hierarchic categories
- Multiple categories per photo, plus "also in..." feature
- All data stored in the filesystem
- Browsable both on the web and from the command line
- Uses standard filesystem tools to access records
- Easy backup and replication with tar, rsync, etc...
- Uses no special file formats; data is stored in many small
files instead of a database or several large files.
- works best with reiserfs v4, but is compatible with any filesystem
- Insert many photos at once from the command line
- Clean URLs; simple directory structure and no huge ?argument=foo lists
- Secure web interface
- Access control for web use: per user, per file, per category
- Non-public files cannot be viewed by the wrong users, even if those
users know where to look.
- Restricted files are completely invisible to anyone not authorized
to view them.
- Description: Yes. HTML allowed. Can be edited with any text editor.
- Extended Description: Yes.
- Title: No. Use the description or filename.
- Keywords: No. (irrelevant; use the category system)
- People: No. (irrelevant; use the category system)
- Event: No. (irrelevant; use the category system)
- Date: Yes, for now. May be removed.
- Photographer: No, but may be added.
- No SQL database required
- Fast! Handles many, many thousands of files easily
- Auto thumbnail creation and caching (manual creation supported too)
- Auto-creates medium-sized previews when appropriate (manual creation supported too)
- Holds any type of file, not just images
- Integrates easily into php template systems with header/footer hooks
However, here are some stats from my personal photo repository:
|files in DB:
||(2.49 categories / file)
||(16.66 entries / category)
||(14.57 records / file)
||(516KiB / file)
Snapshots from subversion repository:
Available here: files
You will need the following tools:
- Python (may need V2.x or newer, but may work with 1.5)
- Apache (any current version should do)
- PHP4 4.2 or newer
- ImageMagick (provides "convert" for thumbails)
The following are recommended but not required:
- jpegtran (provides lossless jpeg rotation)
- GNU bc calculator (to run bin/*.bc scripts)
- pfm for browsing and insertion
The changelog is actually the subversion log, but should be useful: