[{"data":1,"prerenderedAt":460},["ShallowReactive",2],{"project-7101923":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":47,"post_text":49,"what":50,"said":102,"maker_in_thread":243,"shape":252,"grid":255,"attempts":416,"same_week":421,"maker_shows":39,"maker_hidden":452,"reader_version":453,"card":454},"7101923","Lychee","Self-hosted photo-management done right","title","Show HN: Lychee — Self-hosted photo-management done right","http:\u002F\u002Flychee.electerious.com","lychee.electerious.com","electerious",1390388554,2014,92,69,307,2272,14,"notable","infrastructure","self-hosted photo management","web_app",[24,25,26,27],"self-hosted photos","photo gallery","photo sharing","php photo manager","mixed",0.282,{"positive":31,"neutral":32,"mixed":33,"critical":34},16,11,1,8,36,{"design":37,"idea":40,"execution":42,"docs":44,"privacy":45,"pricing":46},{"positive":38,"critical":39},7,2,{"positive":38,"critical":41},0,{"positive":33,"critical":43},3,{"positive":41,"critical":41},{"positive":41,"critical":43},{"positive":33,"critical":41},[41,48,48,48,43,48,33,41,43,43,41,33,43,48,41,43,43,33,48,41,41,41,41,41,48,41,41,41,43,41,33,43,41,43,48,48,43,48,33,48],5,null,{"problem":51,"audience":49,"pricing":58,"motivation":72,"time_to_build":49,"stack":76,"openness":99,"stage":100,"team_size":101},{"value":52,"source":53,"evidence":54},"Storing, managing and sharing photos on your own server","maker",[55],{"id":56,"by":11,"text":57},"7101925","I developed this project in my spare time. It's a self-hosted photo-management-system and a great place to share, store and manage your photos and inspiration. I hope you guys…",{"value":59,"source":53,"evidence":60},"Free; donations welcome, several commenters asked for paid model",[61,64,68],{"id":62,"by":11,"text":63},"7102165","Thanks! Donations are welcome :)",{"id":65,"by":66,"text":67},"7102145","priyakanth024","Dude, you could've easily made money out it. I for one would've definitely bought it. Your product is superb, simple and gives us capability to add stuff on top of it like…",{"id":69,"by":70,"text":71},"7102177","dangravell","No - you didn't read what (s)he wrote. You should charge. Charging people real money gets you real users who give you real feedback. It allows you to allocate more money to the…",{"value":73,"source":53,"evidence":74},"Built in spare time",[75],{"id":56,"by":11,"text":57},[77,88],{"value":78,"source":79,"evidence":80},"PHP","commenter",[81,85],{"id":82,"by":83,"text":84},"7102109","roeme","I like it very much; both the code and interface seem clean and lightweight. You should use mysqli prepared statements though, after a quick glance over the code I can't quite…",{"id":86,"by":83,"text":87},"7102416","Having read your code and quickly brushing up the little bits of PHP knowledge from years ago, I'd say it helps only a little. mysqli_real_escape_string alone doesn't protect you…",{"value":89,"source":79,"evidence":90},"MySQL",[91,95],{"id":92,"by":93,"text":94},"7102285","mrtree","Hi, great tool guys! Lovely. During configuration I keep getting an error during the creation of the database connection to mysql: \"Connection failed. Unable to connect to host…",{"id":96,"by":97,"text":98},"7102304","vsergiu","you need to create the database before hand and provide the credentials for your database and mysql username and password","open_source","launched","unknown",{"praise":103,"objections":108,"requests":131,"questions":178,"alternatives":204},[104],{"value":105,"source":79,"evidence":106},"Lightweight, clean code",[107],{"id":82,"by":83,"text":84},[109,120,124],{"value":110,"source":79,"evidence":111},"Web root upload folders require 777 permissions",[112,116],{"id":113,"by":114,"text":115},"7102330","__herson__","> \"Change the permissions of uploads\u002F and php\u002F to 777, including all subfolders\" > https:\u002F\u002Fgithub.com\u002Felecterious\u002FLychee\u002Fblob\u002Fmaster\u002Fdocs\u002Fmd\u002FIn... I don't think this is ok",{"id":117,"by":118,"text":119},"7102410","krapp","That bothers me. That should never be necessary. It looks like they intend everything to be in the webroot, which is a problem in and of itself. Setting everything in the uploads…",{"value":121,"source":79,"evidence":122},"SQL injection risk from escaping-only approach",[123],{"id":86,"by":83,"text":87},{"value":125,"source":79,"evidence":126},"Animated transitions are distracting",[127],{"id":128,"by":129,"text":130},"7103328","flowless","Animated transitions are really distracting, I hope there's a way to turn this off (and it should be turned off by default..)",[132,147,153,164,168],{"value":133,"source":79,"evidence":134},"Lightroom sync plugin",[135,139,143],{"id":136,"by":137,"text":138},"7102352","marban","Private albums with a random access token in the url would be awesome (instead of passwords). On a side note, I'd donate 100 bucks for a Lightroom Sync Plugin any minute.",{"id":140,"by":141,"text":142},"7102724","jagermo","Lightroom Plugin would be fantastic, I agree.",{"id":144,"by":145,"text":146},"7105602","pidg","Based on playing with the demo, I'd move to this in a heartbeat if there was a Lightroom sync plugin. (and would donate!)",{"value":148,"source":53,"evidence":149},"Multi-select of photos",[150],{"id":151,"by":11,"text":152},"7104666","Tip: You can right-click on single images\u002Falbums to rename, move or star them. By now, it may be easier to upload photos directly into the album of your choice. Multi-select is…",{"value":154,"source":79,"evidence":155},"Serve files from a directory without upload",[156,160],{"id":157,"by":158,"text":159},"7102231","sz4kerto","It would be so great if it could simple serve files from a directory (without in-app upload). Then I could simply sync the photos using btsync (or anything else).",{"id":161,"by":162,"text":163},"7102988","myang","good job! I like the simplistic and elegant interface. Like what other commenters said, it would be great if it can serve files directly instead of having to upload through the…",{"value":165,"source":79,"evidence":166},"Private albums with access tokens",[167],{"id":136,"by":137,"text":138},{"value":169,"source":79,"evidence":170},"Tags, comments and RSS feeds",[171,175],{"id":172,"by":173,"text":174},"7102193","PavlovsCat","This is so smooth. Wow. It's been a while since I saw something labelled as \"stunning\" actually stun me. The ability to tag photos and a commenting system would make it just…",{"id":176,"by":11,"text":177},"7104835","Tags and RSS feeds for albums are already planned.",[179,186,190,197],{"value":180,"source":79,"evidence":181},"RAW file support",[182],{"id":183,"by":184,"text":185},"7102394","mschaef","This looks really good. A couple questions: 1) Is there any kind of RAW file support? 2) Does the software de-duplicate uploaded images?",{"value":187,"source":79,"evidence":188},"Deduplication of uploads",[189],{"id":183,"by":184,"text":185},{"value":191,"source":79,"evidence":192},"Preloading next image",[193],{"id":194,"by":195,"text":196},"7101993","nodata","Nice. A few questions (I might add more, just using the demo) 1. How does it deal with mixed landscape and portrait images? 2. Is preloading the next image possible? 3.…",{"value":198,"source":79,"evidence":199},"Video support",[200],{"id":201,"by":202,"text":203},"7102138","thor545","Awesome. Certainly one of the most elegants solutions. Any plans to add video support?",[205,212,222,229,236],{"value":206,"source":79,"evidence":207},"Koken",[208],{"id":209,"by":210,"text":211},"7102141","north","Koken might be an other alternative. http:\u002F\u002Fkoken.me",{"value":213,"source":79,"evidence":214},"Menalto Gallery",[215,219],{"id":216,"by":217,"text":218},"7102791","ytjohn","Menalto Gallery is fairly good. I used it for years actually, and I think it's the most feature rich gallery app out there. http:\u002F\u002Fgalleryproject.org\u002F",{"id":220,"by":217,"text":221},"7102459","For years and years, I used Gallery\u002FGallery2 to self-host photos, but more and more, I found myself taking photos with my phone instead of a regular camera. From the smartphone,…",{"value":223,"source":79,"evidence":224},"Piwigo",[225],{"id":226,"by":227,"text":228},"7102087","henryaj","This is beautiful. AFAIK, the alternatives are either a self-hosted blog (not ideal, strips out EXIF data etc.) or something hideous like Piwigo. Awesome!",{"value":230,"source":79,"evidence":231},"Zenphoto",[232],{"id":233,"by":234,"text":235},"7107281","vraa","I like zenphoto http:\u002F\u002Fwww.zenphoto.org\u002F",{"value":237,"source":79,"evidence":238},"Balder",[239],{"id":240,"by":241,"text":242},"7102277","sleepyhead","Another alternative is Balder which I made. It is built with Rails and can easily be hosted on Heroku with images on S3. See http:\u002F\u002Fbalderapp.com\u002F",{"comments":244,"answered":245,"key":246},15,6,[247,248,251],{"id":56,"text":57},{"id":249,"text":250},"7102533","RAW files are not support and every photo is uploaded and stored with its own copy.",{"id":151,"text":152},{"commenters":253,"max_depth":34,"maker_replies":244,"first_comment_mins":33,"lifespan_hours":254},41,20,[256,258,262,264,267,269,270,272,273,276,277,280,281,285,288,290,292,294,297,299,300,302,305,308,309,311,313,316,320,322,323,325,327,329,331,333,336,338,340,342,344,346,348,349,351,354,357,358,359,360,363,366,368,370,372,376,378,381,384,388,391,392,394,397,399,401,405,409,412],[56,41,41,257,11,33],"maker\u002Fneutral\u002Fnone",[259,41,48,260,261,41],"7102210","project\u002Fpositive\u002Fdesign","egeozcan",[136,41,43,263,137,41],"project\u002Fneutral\u002Fidea",[265,41,48,260,266,41],"7102580","blahbap",[140,41,48,268,141,41],"project\u002Fpositive\u002Fidea",[144,41,48,268,145,41],[183,41,43,271,184,41],"project\u002Fneutral\u002Fnone",[249,41,41,271,11,33],[274,41,43,257,275,41],"7103282","shiftpgdn",[220,33,48,268,217,41],[278,33,33,279,217,41],"7102743","project\u002Fcritical\u002Fexecution",[151,33,41,257,11,33],[282,33,41,283,284,41],"7102779","commenter\u002Fneutral\u002Fnone","masukomi",[286,33,43,263,287,41],"7105246","anotherevan",[289,39,41,257,11,33],"7102218",[92,39,43,291,93,41],"project\u002Fneutral\u002Fdocs",[96,39,41,293,97,41],"commenter\u002Fneutral\u002Fdocs",[295,39,41,296,11,33],"7102337","maker\u002Fneutral\u002Fdocs",[113,43,33,298,114,41],"project\u002Fcritical\u002Fprivacy",[117,43,33,298,118,41],[157,301,43,263,158,41],4,[303,301,43,263,304,41],"7102334","unicornporn",[306,301,41,283,307,41],"7102680","chime",[172,48,48,260,173,41],[176,48,41,310,11,33],"maker\u002Fneutral\u002Fidea",[82,245,43,312,83,41],"project\u002Fmixed\u002Fexecution",[314,245,41,315,11,33],"7102170","maker\u002Fneutral\u002Fexecution",[317,245,43,318,319,41],"7102192","project\u002Fneutral\u002Fexecution","stefs",[321,245,41,257,11,33],"7102400",[86,245,33,298,83,41],[324,245,41,257,11,33],"7102898",[65,38,48,326,66,41],"project\u002Fpositive\u002Fpricing",[62,38,41,328,11,33],"maker\u002Fneutral\u002Fpricing",[69,38,41,330,70,41],"commenter\u002Fneutral\u002Fpricing",[332,38,41,330,261,41],"7102203",[334,38,41,330,335,41],"7102257","belorn",[337,38,41,330,70,41],"7102288",[339,38,41,330,335,41],"7102434",[341,38,41,330,70,41],"7102721",[343,38,41,330,304,41],"7102315",[345,38,41,330,261,41],"7102403",[347,38,41,330,70,41],"7102738",[226,34,48,260,227,41],[209,34,41,350,210,41],"other\u002Fneutral\u002Fnone",[352,34,41,350,353,41],"7102208","davidcollantes",[355,34,41,356,304,41],"7102375","commenter\u002Fneutral\u002Fidea",[240,34,41,350,241,41],[216,34,41,350,217,41],[233,34,41,350,234,41],[194,361,43,362,195,41],9,"project\u002Fneutral\u002Fdesign",[364,361,41,365,11,33],"7102105","maker\u002Fneutral\u002Fdesign",[367,361,33,279,261,41],"7102178",[369,361,41,315,11,33],"7102368",[371,361,33,279,195,41],"7103112",[373,374,48,268,375,41],"7102423",10,"Adirael",[377,374,41,310,11,33],"7102453",[379,32,48,268,380,41],"7102189","terhechte",[128,382,33,383,129,41],12,"project\u002Fcritical\u002Fdesign",[385,386,48,268,387,41],"7102190",13,"blowski",[389,18,48,268,390,41],"7102207","sp8",[201,244,48,260,202,41],[393,244,41,271,11,33],"7104846",[395,31,43,263,396,41],"7102316","mrlinx",[161,398,48,260,162,41],17,[400,398,41,257,11,33],"7104806",[402,403,33,383,404,41],"7102425",18,"Walkman",[406,407,43,263,408,41],"7104508",19,"lazyant",[410,254,48,411,141,41],"7102720","project\u002Fpositive\u002Fexecution",[413,414,48,260,415,41],"7102199",21,"Heliosmaster",[417,418],{"id":4,"t":12,"points":14,"comments":15},{"id":419,"t":420,"points":403,"comments":48},"9569667",1432040383,[422,427,432,437,442,447],{"id":423,"name":424,"points":425,"category":426},"7095228","Geocodio",224,"data",{"id":428,"name":429,"points":430,"category":431},"7087927","hike.io",145,"consumer_social",{"id":433,"name":434,"points":435,"category":436},"7068672","Open-Source Data Science Curriculum",135,"learning_science",{"id":438,"name":439,"points":440,"category":441},"7094465","node-webkit-hipster-seed",101,"dev_tools",{"id":443,"name":444,"points":445,"category":446},"7090003","play-clj",93,"languages",{"id":448,"name":449,"points":450,"category":451},"7090117","Akiva",71,"ai",false,"v2",{"id":455,"name":5,"line":6,"ai":452,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":456,"top":18,"kw":457,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":458,"url":9,"mix":459,"praise":105,"objection":110,"sub":21},7101923,0.28,[24,25,26,27],"0555351033013503315000005000301303553515",[31,32,33,34],1793990902193]