20 ms·
Files – Single-file photo gallery and file manager
- aspyct 5y agoOh boy, this may have solved one of my problems. Will try it asap! Edit: oh, it's not free... I mean, $40 isn't bad, but then I expect a decent level of support. Also, $40 for... a year, a life?
- max1cc 5y agoWhy does the demo have a folder of just girls?
- can16358p 5y agoSex sells, as always.
- yjftsjthsd-h 5y agoWhy not?
- jbverschoor 5y agoBecause it’s about *single* files
- saheelraut 5y agoIt drives curosity for sure.
- Aeolun 5y agoThis is an MVP. The guys folder will be added later.
- codechad 5y ago
- jack_riminton 5y agoTo drive engagement through people commenting on it
- jbverschoor 5y agoHe can post to https://www.reddit.com/r/UpvotedBecauseGirl/ https://www.reddit.com/r/UpvotedBecauseGirl/
- mackrevinack 5y agowild guess: the person who make this likes girls
- deleted 5y ago[deleted]
- echelon 5y agoI used to really like Google Picasa, but then it stopped working on Linux, and then at all [1]. It was fantastic and fit all of my ideas on how photo organization was supposed to work. I got fantastic feedback when I recently asked about a personal wiki that would fit my criteria [2], so I figure I'll ask here for a photo library management app. My use case isn't just personal photos, but also concept art. I would love to replace the scourge that is Pinterest (which I shamefully admit I use). I used Picasa for this use case before it died. Here are the features I would like in a photo management system: - Importing photos should be as easy as drag and drop or "add directory". - Images in the library should be mirrored to an internal store independent of the greater filesystem. - It needs to support rich tagging. Images should be easily enumerable by tag. - It needs to store all metadata in a central database or file that I can easily distribute and back up. (As opposed to writing the data into the images directly.) It would be nice if the primary keys to image were signature-based rather than filename (and especially not full file path) as it could live on different systems. - Group by GPS coordinates would be nice. Even better if it can pull the location name. - Group by date taken. - Find or automatically ignore/remove duplicates. - Support for a NAS or cloud backup would be fantastic. Especially if it also backs up the database. - It should generate pre-computed thumbnails so scrolling a large library doesn't show blank images, but keep them off to the side so it doesn't impact backup. - It should have RAW support, but doesn't need editing/adjustment capabilities. (If not available, I suppose I could pre-process the RAWs.) - Video support would be extremely nice too, but it doesn't need to have any editing or miscellaneous features. - It would be nice to keep galleries separate, or at least in different namespaces so I can reuse tags. Family, real estate, conceptual/renders, etc. - Replication across multiple devices would be a nice to have, especially if it can update tags and metadata across machines. - Open source would be nice, but I'd be happy with paid/commercial software if it did what I wanted. - Multiplatform support (Linux, Windows, Mac) would be extremely nice. Even nicer if it supports mobile too. - It should be snappier than a web-based gallery. - That said, internet web access (like photos.google.com) would be killer. [1] https://killedbygoogle.com/ https://killedbygoogle.com/ [2] https://news.ycombinator.com/item?id=30089858 https://news.ycombinator.com/item?id=30089858
- ryanpandya 5y agoWow - this is perfect. I would love literally exactly what you've described. Is there nothing out there - might be fun to take a crack at making it?
- hiccuphippo 5y agoI'd rather like to see something similar to `python -m http.server`, that way you don't need a separate server and you don't need to copy the file, just run the program.
- datashaman 5y agohttps://www.php.net/manual/en/features.commandline.webserver.php https://www.php.net/manual/en/features.commandline.webserver...
- mjau-mjau 5y agoHi, Files app DEVELOPER here. Someone notified me that the app had been posted here. A lot of negative comments, which I don't have a problem with, but I can perhaps clarify a few things. About Files app not being "single file" because it loads JS/CSS resources from the CDN (internet). That is of course a correct observation, and this is already noted on the website. From an operational perspective, there is only one file to download/move/install, and from a functional perspective for the vast majority, it will be viewed in browser with an active internet connection. Furthermore, it was INTENDED BY DESIGN to load all JS/CSS from CDN, because ultimately it improves the user-experience, and makes it plausible to make an app like this wrapped into a single index.php file. It's not reasonable to add ALL Javascript/CSS directly into the index.php file. PHP is only 10% of the codebase, and it would bloat the file to insane dimensions and make it difficult to maintain. JS/CSS is loaded from CDN service jsdelivr.com, with multi-level redundancy (Amazon, Cloudfront, Cloudflare), and will load faster and cache more effectively than anything served from within the index.php app on your own server. Furthermore, some plugins are served on-demand, for example when browser needs a "polyfill" or for specific features. For functional reasons, benefiting the vast majority who do not care how/where the JS/CSS is loaded from, JS and CSS files are therefore served from CDN. If this does not suit you, nobody has any problem with that. Does anyone have any examples of any other single-file app with a comprehensive interface like Files app that is entirely self-contained? There will be a future release where you can assign all scripts/css to be loaded from local path, but then of course all these files will need to be installed alongside Files app index.php. We will NOT be adding all JS/CSS directly into the index.php file. About license, as stated on the website, you can use it as a file viewer for free (with the nag). If you want to remove the nag and use it as a file manager, license is required. Those who expect apps like this to be entirely free with updates and support, are living in dream land. It's hardly worthwhile in the first place. There are loads of other free apps, and if you can't see any difference, then your choice is easy. I have noted comments about license info being unclear, thanks.
- janvdberg 5y agoThis looks great, and like something I was looking for a couple of months ago. I couldn't find anything, so I created my own [0] (limited) solution. But the Files app looks like it might replace this. [0] https://j11g.com/2021/11/23/corbin-static-responsive-image-and-video-gallery-generator/ https://j11g.com/2021/11/23/corbin-static-responsive-image-a... [1] https://github.com/jan-vandenberg/corbin https://github.com/jan-vandenberg/corbin
- vietvu 5y agoI know it looks cool, but it is just not a single file. I guess most simple way still is spin up a HTTP server using Python.
- apvarun 5y agoWe need more products like this. Simple, minimal and polished.
- XCSme 5y agoEverything can be a single-file if you're brave enough.
- someburner 5y agoNot quite the same thing but I'm a big fan of Filebrowsr: https://github.com/filebrowser/filebrowser https://github.com/filebrowser/filebrowser Backend in Go, frontend in Vue, deployed as a single binary.
- NaughtyShiba 5y agosingle .php file…
- wertgklrgh 5y agoso what? it's simple and it works.
- uglygoblin 5y agoIt doesn't mean they do all development in a single file.
- codazoda 5y agoI’m not sure if you’re implying it isn’t, that’s bad, or something else. The download link does take you to a single php file. It’s a mess, but it’s also kinda interesting. I’ve been doing PHP dev professionally for more than 20 years and I don’t think I’ve ever seen some of the conventions used. Even the PHP close tag inside a function like this. function login_page($is_login_attempt, $sidx, $is_logout, $client_hash){ ?> <!doctype html> <html> <head> <meta charset="utf-8"> … </html> <?php exit; // end form and exit }
- dewey 5y agoSome people make a million dollar a year with a single php file - https://remoteok.com/open https://remoteok.com/open - https://twitter.com/levelsio/status/1308145873843560449 https://twitter.com/levelsio/status/1308145873843560449
- rodolphoarruda 5y agoAnd here is the tweet which describes the stack. A single PHP file and Sqlite. This guy is my hero now. https://twitter.com/levelsio/status/1308406118314635266 https://twitter.com/levelsio/status/1308406118314635266
- cutler 5y agoSomeone who really gets PHP.
- 5y ago
- kazperson 5y agoI needed this for hosting an archive of documents and images that I didn't want to sort and create html pages for. Without something like this, I'd get an ugly directory view that's different browser by browser. This solves the problem and it looks elegant. Great work.
- ropeladder 5y agoAs somebody who recently spent two weekends trying to figure out a self hosted photo solution that actually for my needs and was easy to install, this looks fantastic. (I ended up using PhotoView, which works fine, but this looks like it might have been better.)
- NKosmatos 5y agoHey thanks for sharing with us https://photoview.github.io https://photoview.github.io It's worth a look :-)
- leavenotracks 5y agoHad a look, and it was worth it! Will consider using for sure
- ezconnect 5y agoYour demo has a login and has no default values for the credentials.
- AnyTimeTraveler 5y agoThe credentials demo /demo are directly above the button that says "Demo-Site".
- woko 5y agoSomehow, I missed that. Thanks! I did not realize logging was part of the demo. :D
- Lukas_Skywalker 5y agoAnnoyingly, the demo broke the back button of my Safari on iOS
- kbrisso 5y agoVery nice tool indeed, funny how the world works. I'm writing an Electron/React/PouchDB application that works kinda like this called "Filebase", you create a library and name it like "pictures", you pick a directory / or single file on your PC and it scans/indexes it, this allows you to tag individual files and folders so you remember what's in it (you can search these tags). you can search and filter by type. The last feature will be archiving but keeping the directory info handy so you can search for items that are archived. I came up with this idea after watching my partner try and organize Cricket art and PDF's. I realized that Windows Explorer kinda sucked for organizing. I wanted to build something that did not modify or touch files itself. It's been a great way to learn Electron. I have to say Electron makes building UI's easy for applications.
- Aeolun 5y agoMy first thought when seeing this was whether I could run it as a docker image… I don’t know what’s wrong with me :P
- quaintdev 5y agoGreat idea. I wish someone creates this in Go that way we don't even need to install php. Just run binary in directory and start browsing.
- qbasic_forever 5y agofilebrowser is a nice option: https://github.com/filebrowser/filebrowser https://github.com/filebrowser/filebrowser I don't think it has as slick of a photo view, but it does make it easy to spin up a server for files with a focus on editing.
- ocdtrekkie 5y agoMost shared web hosting already runs PHP, but anything newer like Node or Go won't generally work unless you have a more expensive hosting plan or cloud offering.
- dewey 5y agohttps://github.com/photoprism/photoprism https://github.com/photoprism/photoprism comes pretty close
- mberning 5y agoI am still looking for a simple tool to deduplicate, organize, and tag all the photos I have accumulated over the years. Old laptop hard drives, old cell phones, iPhoto libraries, aperture libraries, etc. I want to dump them into a staging area, remove all dupes, and start organizing and tagging them into a folder structure.
- mceachen 5y agoI'm writing PhotoStructure to do exactly this task! My to-do list is still long, but I'm plugging through it and I believe PhotoStructure already has the most robust tag extraction, inference, and image deduplication heuristics around, and has a novel browsing approach that scales well to very large (100k+ - 1mm+) libraries. https://photostructure.com/faq/why-photostructure/ https://photostructure.com/faq/why-photostructure/ (Disclaimers: I'm the solo author, and although I am an open source author, PhotoStructure is commercial software. There are both a free and paid tiers of functionality: details are on the pricing page.)
- Gorgor 5y agoHave you looked at DigiKam? It offers directories, tagging (with custom tag hierarchies), deduplication and also face recognition. I think it can do quite a bit more, but I'm not a heavy user, at all. I just use it for keeping track of my modest library and it works great for that.
- mberning 5y agoI will check it out
- wolfhumble 5y agoAnother (paid) solution is Imageranger.com (don't have anything to do with them, but installed it for my father). I really like the import function that gets rid of duplicates (dedupes) and that put files into directories (video, photos, etc) and year/months based on how you have set up the import function. The image viewing interface itself is okay although it might not be as smooth as e.g. Apple Photo (which I feel has its own challenges with how convoluted its image directories are e.g). ImageRanger has also tags and Face Detection and Recognition. I have only installed the Home edition, and it seems to re-index the images to create thumbnails (relatively fast) if you have stored images on an external disk that is detached/attached between openings of the program. From what I understand, the Professional version does not have this issue as the images are cached (not tested out this myself). I don't think the face Detection and Recognition is on par with e.g. Apple Photo, but haven't tested it extensively enough to say that with 100% certainty. What I like most about ImageRanger is its import functions and the way it stores the images in common folders and subfolders based on preferences and not in a convoluted DB.
- marban 5y agoIs there an equivalent in Python (Albeit not single-file)?
- airstrike 5y agoExtra credit if not restricted to photos
- GOATS- 5y agoDoes something as simple as https://github.com/sc0tfree/updog https://github.com/sc0tfree/updog count?
- luluganeta 5y agoHow about Sigal? It's a Python static site generator for photos that works pretty well: https://github.com/saimn/sigal https://github.com/saimn/sigal
- seszett 5y agoI use https://sye.dk/sfpg/ https://sye.dk/sfpg/ myself, another single-file PHP photo gallery. It's less polished, but it's free.
- huhtenberg 5y agoThere are plenty of these. This submission is notable is because it's free and polished. --- Edit --- AH, DAMN. It is NOT indeed free, at least not as demoed. The child comment below is 100% correct. It also pulls piles of stuff from cdn.jsdelivr.net and can't function without it. That's no bueno.
- forgottofloss 5y ago> the original submission is free and polished No, it's not free. Every time you load up the page to view your own files with files.gallery, a big honkin' pop-up shows up instructing you to buy a $40 license for additional features: Purchase a license [$39] to unlock features and support dev! - Remove this popup - Upload - Download folder - Code and text editor - Create new file - Create new folder - Rename - Delete - Duplicate file - Dedicated support - Multi-user, panorama and much more coming soon! [payment button] The files.gallery website only hints at this restriction at the very bottom of the page in the "License" section, which devs would expect to mean an OSS license: "Files is free to use with basic features. To remove the license-popup and unlock additional features, you may purchase a license [$39] from within the app." Now if you look at the rest of the landing page you can see it very carefully does not mention the ability to use basic file browsing features so that it's not technically a lie to present a tool that can "browse files and folders without complicated installations" that doesn't allow you to do anything more than download your own files without opening your wallet. The dev is just another hustler.
- huhtenberg 5y ago... and you are correct! Edited my comment above to reflect that. > The dev is just another hustler. But this was really uncalled for even if this does look kinda deceiving and dark-pattern-ish.
- pmontra 5y agoI used https://github.com/Jack000/Expose https://github.com/Jack000/Expose a couple of times. Advantage: it generates a static site. Disadvantage: it must be customized almost certainly. It's a bash script.
- MildlySerious 5y agoI just want to say that the minimal design of the site feels very pleasant to me. Some days I struggle to make the simplest things feel right even with tools like Tailwind. Well done!
- pkdpic 5y agoI like what I see on the site and in the comments here. Im looking forward to checking this out more maybe. Im kind of surprised that as a species we dont have a conclusive ubiquitous solution to the foggy problem of digital photo storage / management. So many of my photos are just in drawers on old hard drives and phones. Anyway maybe its getting better. Or maybe Im just stupid.
- distrill 5y agoI understand the risks of this approach, but I just dumped everything into google photos and I'm very happy with how it's working for now. I do not miss the days of keeping track of those devices at all.
- girvo 5y agoI did the same, but with Apple Photos. I have a hard drive that holds an offline copy of the library too, which is nice.
- subpixel 5y agoThe thing about Google photos that explodes my brain is that if I use albums to share with family members, Google prioritizes the use case of the recipients _joining_ the album and _adding_ my photos to their own albums. Google is trying to use me as a way to get my family members signed up for Google photos. Then my family is confused about where photos live, etc.
- hunter2_ 5y agoYeah, I made a Google Photos album to send a link to various potential contractors to show where I want some work done on my house, and since the Photos app for Android has the relevant URI registered, the link gets opened with it instead of just the browser, and the first thing the app does is a very prominent "join" CTA. Then the next person to view the album sees them as a member, gross. It works great incognito though, where the browser doesn't hand off links to any apps regardless of URI registration. Might try something like this instead.
- TekMol 5y agoNo license?
- littlestymaar 5y ago> Instructions > Simply download index.php, drop into any folder and view from browser This is really where PHP shines. I find it really sad to see what PHP has become, just because people keep wanting to use it for complex stuff…
- cutler 5y agoYes, the Second Coming Of Java that was PHP5 was where PHP lost its DIY magic.
- sdze 5y agoThe magic of PHP is it’s fantastic backwards compatibility. You can still execute PHP4 spaghetti code in PHP8. As side effect it even executes faster and uses less resources for it.
- oblio 5y agoExecutes faster and uses less resources for probably providing remote exploit opportunities :-))
- pqdbr 5y agoDoes anyone know any open source library that provides this feature as a widget for a web app? I’d love to use Rails active storage + S3 to allow users to have a “mini Dropbox” inside my web App; the only one I could find that was nice enough was CKFinder, but it’s not open source and it’s tied to a Java or PHP backend as well.
- trvz 5y agoA few alternatives have already been mentioned here; yet another one: https://larsjung.de/h5ai/ https://larsjung.de/h5ai/
- quyleanh 5y agoMy favorite one for years of sharing files. This dev also has others cool tool. Check it out on his Github page [0] [0] https://github.com/lrsjng https://github.com/lrsjng
- chrissnell 5y agoThis is the Flickr-style photo layout that I love, but I want it in a static site generator. Does such a generator exist?
- john-doe 5y ago`php index.php > index.html` should work, or from your browser “Save As…” index.html
- chrissnell 5y agoThat's a work-around, but not ideal. What I'd love to find is some CSS/JS that can build the beautiful Flickr-style[0] photo grids that I could integrate into a Hugo generator. [0] Flickr, for those who haven't used it much, came up with a unique way of displaying photos in a "justified" view so that there are no gaps between photos in a page full of images of various dimensions and orientations and so that all images stretch all the way to both edges and and are organized into neat rows with no vertical gaps. Example: https://www.flickr.com/photos/defender90/albums/72157670098688360 https://www.flickr.com/photos/defender90/albums/721576700986...
- chrissnell 5y agoJust did some DDG noodling. Turns out, Flickr themselves have open-sourced this! https://github.com/flickr/justified-layout https://github.com/flickr/justified-layout Now to look into porting this to Hugo.
- sdoering 5y agoIn your sister comment there was a link to a repo generating a static sige: https://news.ycombinator.com/item?id=30234601 https://news.ycombinator.com/item?id=30234601
- squarefoot 5y agoThe output is very polished and fast, I like it a lot. Unfortunately it's not technically a single file as it depends on code downloaded from their server, therefore it can't be deployed locally without Internet connection. From the forum: "In terms of license, you don't need an internet connection. However, Files app loads it's own Javascript, CSS and several plugins from CDN (jsdelivr.com), and this requires internet. We already have a request to allow serving all assets locally (as an option), although in your case that might not be practical as this means Files app is essentially no longer a"single file", but multiple files that you need to be included with each installation (although you could assign a global path perhaps). In any case, for now it's not possible to load Files app without internet."
- really_mcnuggle 5y ago> though in your case that might not be practical as this means Files app is essentially no longer a"single file" First off, its already not a "single file" you need a PHP interpreter. Secondly, you can cram the JS and CSS into a .phar file, the performance is horrible, but it's probably not noticeable in this scenario.
- quenix 5y agoIt is a single file—that you need an interpreter does not change that fact. It's assumed that the user already has the interpreter. You can cram the JS and CSS into the PHP file itself, no phar needed. Performance change is unnoticeable on any modern machine.
- julianwachholz 5y agoI don't understand the marketing behind "single file" projects like this anymore. Sure, it was a very neat and useful thing to have back when everyone was deploying their sites by uploading in Filezilla. But today we have everything in a single container which seems far more useful and maintainable.
- mjau-mjau 5y ago
- huhtenberg 5y agoAs per [1] from below - Apparently it's a nag-based paid software with an otherwise restricted feature set. This is not clearly explained on the page. In fact, it looks like the site goes out of its way to try and pass for free software - the Demo is NOT of what you are actually downloading, no pricing info, no mention of Basic vs Full versions anywhere, including the Docs, except for an dull looking blurb at the very bottom on the home page - License Files is free to use with basic features. To remove the license-popup and unlock additional features, you may purchase a license [$39] from within the app. The page also pulls a lot of scripts off the Internet on every load, so that too is not explained anywhere clearly and it's absolutely not good for hosting private photo archives. Despite its good looks it kinda leaves bad aftertaste because of all these shady shenanigans. [1] https://news.ycombinator.com/item?id=30235138 https://news.ycombinator.com/item?id=30235138
- jdrc 5y agoShareware
- oblio 5y agoHidden shareware. Kind of bad.
- jdrc 5y agoMost shareware was nagware
- tentacleuno 5y agoWinRAR was a great example. Now we have 7zip and PeaZip. Things evolve.
- simon04 5y agoBefore that, we had WinZip, which is still around and trying to sell its program suite.
- stakkur 5y ago* Not free (mostly crippleware) * Requires a server to run (you don't just 'open from browser' as instructed * CDN-dependent This...is not terribly good or useful.
- deleted 5y ago[deleted]
- ohlookabird 5y agoI only get this when loading the page: This page crashed. Cannot read properties of undefined (reading 'destroy')
- wodenokoto 5y agoThese were the knees beeswax back in the day. I’m sure there are still dozens of open source alternatives floating around - some surely even maintained!
- red_admiral 5y agoI really don't mind charging for software, as developers need to eat as much as the next person. $39 for something like this is really not excessive. But I think it could have been made clearer that (1) you only download one file but it loads more from their CDN, it's not truly "single file" and (2) the free version is heavily limited and gated with a pop-up. That said, I like the demo - it looks really slick and has a lot of features.
- FairDune 5y agoThe browser simply displays the local php source for me. Do I need to run a local PHP server to get this to run?
- tentacleuno 5y agoYes, you'd need to deploy a PHP interpreter on your machine (and then point it at this file) to run it.
- system2 5y agoIt is hard not to get disappointed after seeing CDN loaded js files claiming single file. And the license part. Thanks, I will stick to my synology.
- deleted 5y ago[deleted]
- franciscop 5y agoI started to make my own photo gallery, and I found that while the masonry-layout shown here (where different ratio pictures are put together to a common height) looks really pretty, I ended up preferring either cropping/zooming them or adding a margin and keep a square grid. Why? Because that allows you to easily click and drag a select area and select multiple pictures, where I can then click a button to tag them all at once. With Files Gallery, you cannot drag to select so this doesn't seem a concern, but then again I would love to be able to _manage_ files easily and not just look at them.
- lopkeny12ko 5y agoForgive the dumb question but where is the source code? I can't find a Github (or similar) link. Edit: Yes I know I can access the source code by simply downloading index.php but I'm looking for a place where I can file issues, submit patches, view commit history, etc.
- chillfox 5y agoDoesn't look like there is a public repository. But there is a support forum where you can file issues. Edit: kinda makes sense reading the license, it is not opensource. License Files is free to use with basic features. To remove the license-popup and unlock additional features, you may purchase a license [$39] from within the app.
- deleted 5y ago[deleted]
- tamrix 5y agoKonquer used to do this some 15 years ago. Was pretty cool back then because you could view it in konquer itself.
- xpressvideoz 5y agoI remember seeing these kinds of single-file web apps when I used PHP ~15 years ago. It was a good time! Unfortunately, no such culture seems to exist in other web language ecosystems.
- nolok 5y agoPHP even evolved the phar[1] format to allow this to continue while allowing dev to have a proper organisation in folders and files [1] https://www.php.net/manual/en/book.phar.php https://www.php.net/manual/en/book.phar.php Most php cli tools (like Composer) are actually phar archives
- hk1337 5y agoI always liked the UI in Adminer better than PHPMyAdmin, another single-file app. https://www.adminer.org https://www.adminer.org
- jokethrowaway 5y agoThe PHP era, with all its flaws, brought an insane amount of productivity compared to previous solution (eg. Java). I can't quite pinpoint what was the cause but I've never been as productive as with PHP + JQuery. Modern tooling is just plain slow, mandatory and definitely gets in the way. Having extra layers means more bugs you waste time on and bugs that are harder to debug. It seems like there are also less and less tutorials and documentation.
- kryptoncalm 5y agoTwo more noteworthy alternatives that focus on photo gallery: * https://github.com/bpatrik/PiGallery2/ https://github.com/bpatrik/PiGallery2/ * https://piwigo.org/ https://piwigo.org/ I’m using the first one as personal album and it works very well, including things like infinite scroll and link-based album sharing. The latter is more sophisticated and has a native accompanying app but I found pigallery easier to work with.
- lenormf 5y agoMy pick: https://github.com/lenormf/mediasurf https://github.com/lenormf/mediasurf