Moving from Flickr to Self-Hosted Piwigo
See my personal motivation for moving away from Flickr to self-hosted Piwigo at the end of the page. Here are a few points to outline what to expect from Piwigo:
- It's album-based; there's no real loose photo stream as we know it from Flickr or Google Photos.
- It's mature software that's battle tested but rough around the edges with a lot of baggage (coding style, jQuery).
- There is a neat iOS and Android client
- It needs some adjustments, and you better know a thing or two about how to fix things yourself.
Install Piwigo
That should be straightforward. It's old-timey FTP deployment, either by one php script or by uploading the package. It's described on their get-started page.
Setup
Once the thing is running, and you uploaded a few pictures to check it out you might think, “How can I get my photos from Flickr into Piwigo, and how do I make it look at least a bit prettier?”
The answer is a bunch of plugins!
1. Activate the LocalFiles Editor Plugin.
This provides access to a few files you might want to change, mainly the config file.
Here I set the following value to suppress PHP notices or warnings in case a plugin doesn't like the latest PHP version (8.2 in my case)
<?php
$conf['show_php_errors'] = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING;
2. Install the flickr2piwigo plugin.
- Activate it
- put in your Flickr API key and API secret
- start importing either album by album manually or all images (albums will be created)
For this plugin to work, I needed the PHP error suppression because one lib in the plugin is not compatible with PHP 8.2 (see the GitHub issue)
The import was relatively straightforward.
Now you should have a working self-hosted photo gallery that you can browse in the frontend. And there you see: it looks dated af and what are these URLs /index.php?/category/album-42
?
3. Search engine Friendly URLs
Add the following to your config file as described before:
<?php
$conf['show_php_errors'] = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_WARNING;
$conf['question_mark_in_urls'] = false;
$conf['php_extension_in_urls'] = false;
$conf['category_url_style'] = 'id-name';
$conf['picture_url_style'] = 'file';
?>
And also place a .htaccess
file into the root and add this:
AcceptPathInfo On
Options +MultiViews
Make sure you have no index.html or index.htm in your root, only index.php!
Check to see if your public gallery works!
4. Change the theme to Bootstrap Darkroom.
Bootstrap Darkroom can be installed and setup from the backend. It's the most modern looking theme. Here are some screenshots:
1. Install it via the “Add a new theme” tab: 2. Activate and set it as the default, then configure the theme.
3. Select a color theme you like.
4. Play with the settings; here are mine as a reference:
That should make the page look like this:
For the secondary zoom into pictures via PhotoSwipe to work, set your image sizes as follows:
Go to Photo sizes and “show details”
Change the "XXL - huge" to something larger than the default value.
Then you can do the following:
Set full-screen (lightbox mode or whatever you want to call it).
Click on the image or the magnifying glass
And the image scales up to the XXL-huge size, as you know it from Flickr:
5. Justified image gallery.
That's what they call the “bricklayer” effect, you know from Flickr or Google Photos. It looks much better than the even cards of images in the Bootstrap Darkroom theme.
For that, you need another plugin called gdThumb, easy to install via the backend.
Play with the settings, here are mine:
Conclusion
These were the basics to make it work for me, or better yet, to make it look more modern. Most themes are from 2015 or older. It works, but it doesn't look so good.
For the rest of the setup, you are on your own.
Why did I leave Flickr and moved to Piwigo?
I've been on Flickr since 2007, when it was a cool photo-sharing community. Then it got sold to Yahoo, which offered unlimited storage, which turned it into a low-quality image dump, at least partially. Yahoo sold it to Verizon who didn't care too much about it (along with tumblr)? Anyway, it got saved by SmugMug, who put an end to the 1 TB of storage, and that forced me to buy a subscription. 35 USD for a year was okay. From then on, they raised the price and did only little things to keep the platform running and evolving. The Wikipedia article about Flickr explains it all.
Personally, I didn't expect much. I documented places (outsider art environments and things like that), and the free exposure was a nice add-on, but primarily I liked to work with the API and embedded my pictures on my website this way. At some point, I set all my images to a Creative Commons license for people to use (I ended up on Atlas Obscura and in some Kentucky tourism magazine)
This year, they raised the price again. Just 1 EUR, but I looked at it, looked at alternatives, and pulled the plug. No Flickr PRO for me.
What they offer is mainly unlimited hosting of files — I already pay for web hosting, and now for Google Photos — so I can't justify Flickr as a photo backup. I don't need any of the perks they offer (some small discounts on photo books that I can't order anyway). I also don't want to subscribe to Adobe. The community is dead or not interested in my stuff, so I don't miss anything in that regard. SmugMug made a big deal out of improving the statistics, but I couldn't care less whether my photo has been seen 33 times or 44 times. One of the arguments for using Flickr was that it doesn't use your data like Google Photos. Ok, true. And? Nobody cares about this anymore. We accept all cookies everywhere because maintaining privacy is a chore, nobody wants to deal with it. They use my photo of a dog to show my dog food ads? I don't care. I'm more annoyed by Cookie-Banner than the ads I'm blocking anyway.
Again, I liked their API. Flickr was very developer-friendly in the beginning, but all the apps people built 15 years ago are dead, and nothing new happens in that space.
Piwigo was always on my radar, and since my web host offered a one-click install, I tried it. First, I was unsure because, even though the Piwigo websites look pretty nice now, the software is dated and reminds me of some old Joomla backend. But I dug in and managed to import my Flickr photos without issues, polished the instance with some of their plugins, and even contributed a bug fix. It looks like the community has resisted complete rewrites in some framework that needs updates and maintenance all the time. Instead, you have old-school SQL queries instead of an ORM and no compose.json.
And since my engagement on Flickr was low, I don't expect more on my personal Piwigo instance. So I save money, had a little work to figure it all out and the Piwigo API is alright, I can work with that as well.
Another contender was Lychee, also a self-hosted photo gallery based on PHP. I tried it, it's pretty smooth and nice, but it couldn't convince me completely, mainly because it wasn't easy to get my Flickr photos imported and add new images in the future (I think they turned off the ability to read whole directories with images). It also is based on Laravel. While Laravel is fantastic software, as far as I know, I'm not a fan of Laravel. So it was easier to dismiss, beside the missing requirements.
Update 2024-12-06: I sold a license for a photo that allowed be to buy another 2 years of flickr pro, but not without letting the flickr support know that I'm leaving, which resulted in a 30% discount. So ~50 EUR a year, I'm ok with. Also it turns down, selecting 1000 photos to stay on (for the free plan) is as hard as selecting which photos to upload. That's a dilemma.
But since I'm local first, I can distribute photos to flickr and piwigo in almost the same step. So I guess I try