Build Your Own Flickr with Piwigo

In 2006, the family computer on which our digital photographs were stored had a hard drive failure. Because I'm obsessed with backups, it shouldn't have been a big deal, except that my backups had been silently failing for months. Although I certainly learned a lesson about verifying my backups, I also realized it would be nice to have an off-site storage location for our photos.

Move forward to 2010, and I realized storing our photos in the "cloud" would mean they were always safe and always accessible. Unfortunately, it also meant my family memories were stored by someone else, and I had to pay for the privilege of on-line access. Thankfully, there's an open-source project designed to fill my family's need, and it's a mature project that just celebrated its 10th anniversary!

Piwigo, formerly called PhpWebGallery, is a Web-based program designed to upload, organize and archive photos. It supports tagging, categories, thumbnails and pretty much every other on-line sorting tool you can imagine. Piwigo has been around long enough that there even are third-party applications that support it out of the box. Want mobile support? The Web site has a mobile theme built in. Want a native app for your phone? iOS and Android apps are available. In fact, with its numerous extensions and third-party applications, Piwigo rivals sites like Flickr and Picasaweb when it comes to flexibility. Plus, because it's open source, you control all your data.

Piwigo supports direct upload of multiple files, but it also supports third-party upload utilities (screenshot courtesy of

Categories, tags, albums and more are available to organize your photos (screenshot courtesy of

If you haven't considered Piwigo, you owe it to yourself to try. It's simple to install, and if you have a recent version of Linux, your distribution might have it by default in its repositories. Thanks to its flexibility, maturity and downright awesomeness, Piwigo gets this month's Editors' Choice award. Check it out today at


Shawn is Associate Editor here at Linux Journal, and has been around Linux since the beginning. He has a passion for open source, and he loves to teach. He also drinks too much coffee, which often shows in his writing.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Import your Flickr gallery into Piwigo

Pierrick Le Gall's picture

Talking about Flickr, take a look at the new plugin Flickr2Piwigo : you can import your whole Flickr account into any Piwigo gallery.

Reply to comment | Linux Journal

Margarita's picture

Hi my loved onе! I wish to say thаt thіs article is awesоmе,
niсе ωritten and include almost аll significant іnfos.
I'd like to look more posts like this .

A problem...

DJ Etch's picture

The article is written giving the impression the you would host this yourself, which means the photos are not in the cloud! You would actually need to get some sort of hosting that allowed you to install this and run it remotely in order for this to truly compete with cloud storage. The other services mentioned are free, this would not be, but I guess that's the "price" of contol.

I'm Piwigo founder. The

Pierrick Le Gall's picture

I'm Piwigo founder.

The difference between Flickr/Google+/Facebook for hosting your photos is that with Piwigo (or zenphoto which is another nice opensource photo gallery) you *can* host your photo gallery at home.

Of course, the vast majority of Piwigo users are using a shared hosting. You may say that then it's "as bad" as Flickr/Facebook, but the difference is that you're not bound to 1 single provider: you can move your Piwigo gallery to another hosting provider.

Piwigo also has a "hosted solution" on which is a nice and easy way to start with opensource for non-technical users (since they don't have to manage hosting details, installation, updates or backup). Of course does not lock its users, you can export all your datas at any time and move your Piwigo gallery to any other host.


Tim Bruce's picture

It has a dependency on MySQL, which is too bad in my opinion. I prefer software that supports multiple database engines for storage of Relational data.


multiple database support is a lot of extra work

Pierrick Le Gall's picture

I'm Piwigo founder. My first comment will be about multiple database support.

In May 2010 and version 2.1 we had introduced multiple database support (MySQL + PostgreSQL + SQLite). As a beta-testing feature first. 1.5 year after, in October 2011 and version 2.3 we have decided to stop support for multiple database and focus on MySQL.

Let me quote our 2.3 release notes :

> In practice, some bugs were reported on SQLite/PostgreSQL and were
> not always fixed. This support brings additional constraints for coding
> and nearly all plugins using database are only compatible with MySQL.
> People interested in Piwigo for PostgreSQL/SQLite support were disappointed
> because the feature was buggy and incomplete.

Unfortunately, supporting multiple databases is not as easy as saying "let's do it". And even if we (core team) are OK for PostgreSQL, it's nearly impossible to ask plugin developers "let's work more for compatibility with PostgreSQL/SQLite". They just won't make the required tests before delivering a new version of their plugins.

After a few major bugs introduced by the "multiple database" changes and a few feedbacks from users such as "compatibility with PostgreSQL is nice but if plugins are not compatible, then it's completely useless", we thought it was better to stop the experiment. Read more on Piwigo forum

You may have 2 concerns about MySQL:

1) MySQL is not as good as PostgreSQL, technically speaking. I don't want to start a flameware, but MySQL good enough for Piwigo needs. MySQL is great at performances level, even for a 1 million photos gallery.

2) MySQL is now owned by Oracle and it may become less and less opensource. That's true and that's a real concern for me. For now, MySQL is still available on all shared hosting providers and all Linux distributions (even Debian). When this situation will change, Piwigo will switch to a new database engine. And I suppose Debian will replace mysql by... mariadb, not by PostgreSQL.

I really like PostgreSQL, that I have used a lot (I have also worked on Oracle for years). It's just too much to ask to developers and a eventually a bad experience for users :-/

Oh, so that's why I didn't

Anonymous's picture

Oh, so that's why I didn't implement it when trying it a while ago. I agree with you completely. It's a shame many nice webapps only support MySQL and not Postgres or other DB engines.