{"id":32935,"date":"2025-07-03T16:22:23","date_gmt":"2025-07-03T16:22:23","guid":{"rendered":"https:\/\/garfnet.org.uk\/cms\/?p=32935"},"modified":"2025-08-18T21:02:34","modified_gmt":"2025-08-18T21:02:34","slug":"managing-a-large-image-library-with-piwigo","status":"publish","type":"post","link":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/","title":{"rendered":"Managing a large image library with Piwigo"},"content":{"rendered":"<p><strong>I like taking photos. Trouble is that I&#8217;m a tad <em>trigger-happy<\/em> with the shutter button. Over the last few decades I have captured around \u00bd million of my own digital images and about 33,000 scanned from 35mm neg. On top of that there are around 45,000 edited\/retouched images &#8211; not to mention a thousand or so of my own video-clips and short films. Whilst darktable is an excellent bulk editor, it is not best suited to managing large image libraries.<\/strong><\/p>\n<p>I&#8217;ve flirted with various methods over the years, starting back in the 1990&#8217;s filing by ISO-8601 date and adding a small &#8220;info.txt&#8221; file to each directory &#8211; which actually proved to be quite a good system. More recently I overlaid that with a local Piwigo instance. Piwigo is designed for large image websites. However it works just well on &#8220;intranets&#8221; too. I have such an intranet server literally four metres from where I am sitting now.<\/p>\n<p>Known as my Linux Media Server, it currently runs a Debian\/Ubuntu derivative known as&nbsp; KDE Neon, c\/w Piwigo plus a number of other web applications, managing and delivering a variety of content to any authorised person, anywhere in the building &#8211; and beyond, if I choose to permit it. At some point I will upgrade this machine&#8217;s aging system SSD and install Debian Stable c\/w KDE Plasma Desktop. Data lives on a 22TB electromechanical disk and is backed-up to various other drives using the methodology described <a href=\"https:\/\/garfnet.org.uk\/cms\/2024\/04\/09\/backup-strategies\/\">here<\/a>.<\/p>\n<p>I run Apache 2.4 webserver c\/w PHP and MySQL\/MariaDB &#8211; all free and fairly trivial to set up, certainly on Debian-based systems. Then you install Piwigo as per the instructions on its site. It has a large and enthusiastic support community, and it&#8217;s very, very stable. In addition to being free, open source and all that, it has lots of other advantages too.<\/p>\n<ul>\n<li>Virtually unlimited number of images due to its &#8216;industrial strength&#8217; underlying database<\/li>\n<li>Customisable<\/li>\n<li>Searchable<\/li>\n<li>Assign access permissions (you decide who can see what)<\/li>\n<li>Viewable on any device with a reasonably modern web browser (Windows, MacOS, Debian, Ubuntu, Android, iOS, whatever).<\/li>\n<li>There are also some quite a good dedicated Android iOS apps that will connect to your Piwigo instance, for those who do most of their computing on a mobile.<\/li>\n<\/ul>\n<p>Some Piwigo enthusiasts have likened it to having your own personal private Flickr, in your own house, that&#8217;s really fast, but without all the stupid stuff you get with Flickr. So, if you have a very large image collection, and if you&#8217;re OK setting up a basic Debian or Ubuntu Linux box, then you may wish to check it out&#8230;<\/p>\n<ul>\n<li><a href=\"https:\/\/piwigo.org\" target=\"_blank\" rel=\"noopener\">https:\/\/piwigo.org<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Piwigo\" target=\"_blank\" rel=\"noopener\">https:\/\/en.wikipedia.org\/wiki\/Piwigo<\/a><\/li>\n<li><a href=\"https:\/\/www.linuxjournal.com\/content\/build-your-own-flickr-piwigo\" target=\"_blank\" rel=\"noopener\">https:\/\/www.linuxjournal.com\/content\/build-your-own-flickr-piwigo<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I like taking photos. Trouble is that I&#8217;m a tad trigger-happy with the shutter button. Over the last few decades I have captured around \u00bd million of my own digital images and about 33,000 scanned from 35mm neg. On top of that there are around 45,000 edited\/retouched images &#8211; not to mention a thousand or&#8230;<\/p>\n","protected":false},"author":1,"featured_media":32944,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_kad_post_transparent":"default","_kad_post_title":"default","_kad_post_layout":"default","_kad_post_sidebar_id":"","_kad_post_content_style":"default","_kad_post_vertical_padding":"default","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[1623,12,6,691,680,752,1624],"tags":[],"class_list":["post-32935","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digital-photography","category-faq","category-journal","category-linux","category-photography","category-studio","category-video-photography"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Managing a large image library with Piwigo - GarfNet<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Managing a large image library with Piwigo - GarfNet\" \/>\n<meta property=\"og:description\" content=\"I like taking photos. Trouble is that I&#8217;m a tad trigger-happy with the shutter button. Over the last few decades I have captured around \u00bd million of my own digital images and about 33,000 scanned from 35mm neg. On top of that there are around 45,000 edited\/retouched images &#8211; not to mention a thousand or...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/\" \/>\n<meta property=\"og:site_name\" content=\"GarfNet\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-03T16:22:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-18T21:02:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/garfnet.org.uk\/cms\/wp-content\/uploads\/2025\/07\/Logo_of_piwigo-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"667\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Garf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Garf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/\"},\"author\":{\"name\":\"Garf\",\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/#\\\/schema\\\/person\\\/27529e0ea0460ec8c299743f70c06635\"},\"headline\":\"Managing a large image library with Piwigo\",\"datePublished\":\"2025-07-03T16:22:23+00:00\",\"dateModified\":\"2025-08-18T21:02:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/\"},\"wordCount\":468,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/#\\\/schema\\\/person\\\/27529e0ea0460ec8c299743f70c06635\"},\"image\":{\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Logo_of_piwigo-1.png\",\"articleSection\":[\"Digital pictures\",\"FAQ\",\"Journal\",\"Linux\",\"Photography\",\"Studio Photography\",\"Video\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/\",\"url\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/\",\"name\":\"Managing a large image library with Piwigo - GarfNet\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Logo_of_piwigo-1.png\",\"datePublished\":\"2025-07-03T16:22:23+00:00\",\"dateModified\":\"2025-08-18T21:02:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/#primaryimage\",\"url\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Logo_of_piwigo-1.png\",\"contentUrl\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Logo_of_piwigo-1.png\",\"width\":1000,\"height\":667},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/2025\\\/07\\\/03\\\/managing-a-large-image-library-with-piwigo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Managing a large image library with Piwigo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/#website\",\"url\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/\",\"name\":\"GarfNet\",\"description\":\"Penguin-powered and full of Unixy goodness, since 1995...\",\"publisher\":{\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/#\\\/schema\\\/person\\\/27529e0ea0460ec8c299743f70c06635\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/#\\\/schema\\\/person\\\/27529e0ea0460ec8c299743f70c06635\",\"name\":\"Garf\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/garflogo-garfnet-1.png\",\"url\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/garflogo-garfnet-1.png\",\"contentUrl\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/garflogo-garfnet-1.png\",\"width\":2420,\"height\":1928,\"caption\":\"Garf\"},\"logo\":{\"@id\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/garflogo-garfnet-1.png\"},\"url\":\"https:\\\/\\\/garfnet.org.uk\\\/cms\\\/author\\\/garf-admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Managing a large image library with Piwigo - GarfNet","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/","og_locale":"en_GB","og_type":"article","og_title":"Managing a large image library with Piwigo - GarfNet","og_description":"I like taking photos. Trouble is that I&#8217;m a tad trigger-happy with the shutter button. Over the last few decades I have captured around \u00bd million of my own digital images and about 33,000 scanned from 35mm neg. On top of that there are around 45,000 edited\/retouched images &#8211; not to mention a thousand or...","og_url":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/","og_site_name":"GarfNet","article_published_time":"2025-07-03T16:22:23+00:00","article_modified_time":"2025-08-18T21:02:34+00:00","og_image":[{"width":1000,"height":667,"url":"https:\/\/garfnet.org.uk\/cms\/wp-content\/uploads\/2025\/07\/Logo_of_piwigo-1.png","type":"image\/png"}],"author":"Garf","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Garf","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/#article","isPartOf":{"@id":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/"},"author":{"name":"Garf","@id":"https:\/\/garfnet.org.uk\/cms\/#\/schema\/person\/27529e0ea0460ec8c299743f70c06635"},"headline":"Managing a large image library with Piwigo","datePublished":"2025-07-03T16:22:23+00:00","dateModified":"2025-08-18T21:02:34+00:00","mainEntityOfPage":{"@id":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/"},"wordCount":468,"commentCount":0,"publisher":{"@id":"https:\/\/garfnet.org.uk\/cms\/#\/schema\/person\/27529e0ea0460ec8c299743f70c06635"},"image":{"@id":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/#primaryimage"},"thumbnailUrl":"https:\/\/garfnet.org.uk\/cms\/wp-content\/uploads\/2025\/07\/Logo_of_piwigo-1.png","articleSection":["Digital pictures","FAQ","Journal","Linux","Photography","Studio Photography","Video"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/","url":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/","name":"Managing a large image library with Piwigo - GarfNet","isPartOf":{"@id":"https:\/\/garfnet.org.uk\/cms\/#website"},"primaryImageOfPage":{"@id":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/#primaryimage"},"image":{"@id":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/#primaryimage"},"thumbnailUrl":"https:\/\/garfnet.org.uk\/cms\/wp-content\/uploads\/2025\/07\/Logo_of_piwigo-1.png","datePublished":"2025-07-03T16:22:23+00:00","dateModified":"2025-08-18T21:02:34+00:00","breadcrumb":{"@id":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/#primaryimage","url":"https:\/\/garfnet.org.uk\/cms\/wp-content\/uploads\/2025\/07\/Logo_of_piwigo-1.png","contentUrl":"https:\/\/garfnet.org.uk\/cms\/wp-content\/uploads\/2025\/07\/Logo_of_piwigo-1.png","width":1000,"height":667},{"@type":"BreadcrumbList","@id":"https:\/\/garfnet.org.uk\/cms\/2025\/07\/03\/managing-a-large-image-library-with-piwigo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/garfnet.org.uk\/cms\/"},{"@type":"ListItem","position":2,"name":"Managing a large image library with Piwigo"}]},{"@type":"WebSite","@id":"https:\/\/garfnet.org.uk\/cms\/#website","url":"https:\/\/garfnet.org.uk\/cms\/","name":"GarfNet","description":"Penguin-powered and full of Unixy goodness, since 1995...","publisher":{"@id":"https:\/\/garfnet.org.uk\/cms\/#\/schema\/person\/27529e0ea0460ec8c299743f70c06635"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/garfnet.org.uk\/cms\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/garfnet.org.uk\/cms\/#\/schema\/person\/27529e0ea0460ec8c299743f70c06635","name":"Garf","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/garfnet.org.uk\/cms\/wp-content\/uploads\/2024\/07\/garflogo-garfnet-1.png","url":"https:\/\/garfnet.org.uk\/cms\/wp-content\/uploads\/2024\/07\/garflogo-garfnet-1.png","contentUrl":"https:\/\/garfnet.org.uk\/cms\/wp-content\/uploads\/2024\/07\/garflogo-garfnet-1.png","width":2420,"height":1928,"caption":"Garf"},"logo":{"@id":"https:\/\/garfnet.org.uk\/cms\/wp-content\/uploads\/2024\/07\/garflogo-garfnet-1.png"},"url":"https:\/\/garfnet.org.uk\/cms\/author\/garf-admin\/"}]}},"_links":{"self":[{"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/posts\/32935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/comments?post=32935"}],"version-history":[{"count":7,"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/posts\/32935\/revisions"}],"predecessor-version":[{"id":32943,"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/posts\/32935\/revisions\/32943"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/media\/32944"}],"wp:attachment":[{"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/media?parent=32935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/categories?post=32935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/garfnet.org.uk\/cms\/wp-json\/wp\/v2\/tags?post=32935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}