[{"data":1,"prerenderedAt":646},["ShallowReactive",2],{"project-39620540":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":46,"post_text":48,"what":49,"said":108,"maker_in_thread":209,"shape":218,"grid":222,"attempts":608,"same_week":609,"maker_shows":32,"maker_hidden":638,"reader_version":639,"card":640},"39620540","dockerc","Docker image to static executable \"compiler\"","title","Show HN: dockerc – Docker image to static executable \"compiler\"","https:\u002F\u002Fgithub.com\u002FNilsIrl\u002Fdockerc","github.com","NilsIRL",1709754922,2024,374,135,129,3515,4,"legend","dev_tools","container packaging","cli",[24,25,21,26],"docker image","static executable","oci images","mixed",-0.107,{"positive":30,"neutral":31,"mixed":32,"critical":33},13,32,2,19,66,{"idea":36,"performance":39,"docs":42,"execution":43,"design":45},{"positive":37,"critical":38},7,9,{"positive":40,"critical":41},0,3,{"positive":40,"critical":41},{"positive":44,"critical":41},1,{"positive":40,"critical":44},[40,40,41,47,44,32,40,44,41,18,41,44,44,40,40,40,40,40,41,47,44,41,18,41,47,41,44,18,32,41,40,41,41,44,32,41,44,41,41,32],5,null,{"problem":50,"audience":60,"pricing":48,"motivation":68,"time_to_build":48,"stack":74,"openness":105,"stage":106,"team_size":107},{"value":51,"source":52,"evidence":53},"Running Docker images requires users to install Docker; dockerc bundles an image into a single executable.","maker",[54,57],{"id":55,"by":11,"text":56},"39621939","Yep! It works with any docker image!* *: https:\u002F\u002Fgithub.com\u002FNilsIrl\u002Fdockerc\u002Fissues\u002F6",{"id":58,"by":11,"text":59},"39622358","> It would make sense that a tool like this would prioritize MacOS\u002FWindows support above all else. Yep, unfortunately I've not had the time to make it work well on those…",{"value":61,"source":52,"evidence":62},"Developers who want to distribute apps to end users without requiring Docker.",[63,64],{"id":58,"by":11,"text":59},{"id":65,"by":66,"text":67},"39625492","zubairq","I'm going to try this to make my app an exe. As great as Docker is, most users do not care to install Docker just to run my app.",{"value":69,"source":52,"evidence":70},"Make a better alternative to projects that tell users to run docker run, reusing existing Dockerfiles.",[71],{"id":72,"by":11,"text":73},"39624941","> Running on Windows\u002FmacOS was also the context in which I meant to ask about filesystem mounts. That's not an issue because the mounts are within the Linux VM. At least as long…",[75,81,87,91,95,99],{"value":76,"source":52,"evidence":77},"Zig",[78],{"id":79,"by":11,"text":80},"39624818","The main reason Zig was chosen is because the project was started at a hackathon[0] at which there was a prize for \"best use of Zig\". Beyond that there were also other reasons:…",{"value":82,"source":52,"evidence":83},"crun",[84],{"id":85,"by":11,"text":86},"39621573","Yep pretty much. The executables bundle crun (a container runtime)[0], and a fuse implementation of squashfs and overlayfs. Appended to that is a squashfs of the image. At…",{"value":88,"source":52,"evidence":89},"squashfs",[90],{"id":85,"by":11,"text":86},{"value":92,"source":52,"evidence":93},"overlayfs",[94],{"id":85,"by":11,"text":86},{"value":96,"source":52,"evidence":97},"FUSE",[98],{"id":85,"by":11,"text":86},{"value":100,"source":52,"evidence":101},"QEMU",[102],{"id":103,"by":11,"text":104},"39624759","Thanks! > Will this run ok on a Mac? I've managed to make it work but unfortunately not in a way that produces portable binaries. I just need to figure out how to selectively…","open_source","beta","unknown",{"praise":109,"objections":130,"requests":156,"questions":169,"alternatives":182},[110,122],{"value":111,"source":112,"evidence":113},"Clever and fun idea","commenter",[114,118],{"id":115,"by":116,"text":117},"39624905","just_testing","This is so freaking insane! I love it!",{"id":119,"by":120,"text":121},"39622648","Cu3PO42","Let me start by saying this looks like a fun project to work on and, honestly, that's reason enough for doing it. As a solution to the problem of app distribution, I do have some…",{"value":123,"source":112,"evidence":124},"Useful for distributing apps without Docker",[125,126],{"id":65,"by":66,"text":67},{"id":127,"by":128,"text":129},"39623554","nico","This is incredibly cool! Currently using docker as a way to easily distribute and run an open project[1], this would be great to use on top of docker Will this run ok on a Mac?…",[131,142,149],{"value":132,"source":112,"evidence":133},"Large binaries and FUSE requirement",[134,138],{"id":135,"by":136,"text":137},"39622776","KomoD","Okay, that is interesting and cool, though I assume the binaries will be pretty large",{"id":139,"by":140,"text":141},"39626802","FooBarWidget","It's interesting. According to the source code, it uses FUSE to mount the container's internal filesystem. This means that the compiled binary will either need root privileges to…",{"value":143,"source":112,"evidence":144},"No Windows or macOS support yet; relies on emulation",[145],{"id":146,"by":147,"text":148},"39622119","ryukoposting","The README indicates that this tool will only support Windows and MacOS through emulation. I find that odd. Let's face it, if you're using Linux, you're comfortable typing some…",{"value":150,"source":112,"evidence":151},"Security concerns with distributing unauthenticated binaries",[152],{"id":153,"by":154,"text":155},"39624486","ajross","I know it feels like being pedantic and missing the joke, but \"just give me the EXE\" is a terrible bug, not a feature request. Distributing unauthenticated, untraced OS-level…",[157,162],{"value":158,"source":112,"evidence":159},"Support for macOS and Windows",[160,161],{"id":146,"by":147,"text":148},{"id":127,"by":128,"text":129},{"value":163,"source":112,"evidence":164},"Docker compose support",[165],{"id":166,"by":167,"text":168},"39626299","tluyben2","Can it be done for docker compose (in theory) too?",[170,178],{"value":171,"source":112,"evidence":172},"How it differs from AppImage",[173,177],{"id":174,"by":175,"text":176},"39627426","dale_glass","Nice, but what's the difference between this and AppImage?",{"id":119,"by":120,"text":121},{"value":179,"source":112,"evidence":180},"How resource sharing like ports and mounts works",[181],{"id":119,"by":120,"text":121},[183,188,195,202],{"value":184,"source":112,"evidence":185},"AppImage",[186,187],{"id":119,"by":120,"text":121},{"id":174,"by":175,"text":176},{"value":189,"source":112,"evidence":190},"nix bundle",[191],{"id":192,"by":193,"text":194},"39632011","pxc","In the past I've used and recommended nix-bundle¹ or its first-party counterpart `nix bundle`² for this. That lets you skip the step of managing the creation of the Docker image,…",{"value":196,"source":112,"evidence":197},"Enroot",[198],{"id":199,"by":200,"text":201},"39623443","lyeager","Enroot can do something similar: https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fenroot\u002Fblob\u002Fv3.4.1\u002Fdoc\u002Fcmd\u002Fbundle.md",{"value":203,"source":112,"evidence":204},"Apptainer\u002FSingularity",[205],{"id":206,"by":207,"text":208},"39621919","misnome","Same thing as Apptainer\u002FSingularity? Or a different approach? I always remember having issues using the Singularity outputs for anything that needed to interact with the…",{"comments":210,"answered":211,"key":212},21,15,[213,214,215],{"id":85,"text":86},{"id":55,"text":56},{"id":216,"text":217},"39623392","> How do you deal with resource sharing? This starts with just filesystem mounts, but also concerns ports, possibly devices, and probably many other things I'm forgetting. Is…",{"commenters":219,"max_depth":37,"maker_replies":210,"first_comment_mins":220,"lifespan_hours":221},93,61,160,[223,227,230,233,237,240,243,247,250,252,255,259,262,265,268,272,276,279,282,283,286,289,292,295,298,302,305,309,311,315,317,320,324,328,329,332,335,337,339,342,344,347,351,352,356,358,361,363,367,370,372,375,378,381,384,387,390,393,396,398,400,404,407,410,412,416,418,421,425,429,431,433,435,437,438,440,443,446,450,454,457,459,462,466,469,473,476,477,480,482,485,489,493,495,499,502,506,508,511,513,516,518,520,524,526,528,532,535,539,542,544,546,550,554,557,560,563,565,569,571,573,575,579,582,584,587,589,592,593,595,597,599,600,602,605],[224,40,40,225,226,40],"39625316","commenter\u002Fneutral\u002Fnone","chaxor",[228,40,40,225,229,40],"39626606","bertman",[231,40,40,225,232,40],"39627428","ghthor",[234,40,40,235,236,40],"39631887","other\u002Fneutral\u002Fnone","Lord_Zero",[238,40,40,225,239,40],"39632095","lhamil64",[241,40,40,225,242,40],"39649208","its_bbq",[244,40,47,245,246,40],"39634668","project\u002Fpositive\u002Fidea","maliker",[248,40,44,249,226,40],"39637533","project\u002Fcritical\u002Fperformance",[251,40,40,235,246,40],"39641559",[253,40,40,235,254,40],"39642430","tacone",[256,44,41,257,258,40],"39627129","project\u002Fmixed\u002Fidea","rnts08",[260,44,47,245,261,40],"39627203","pulse7",[263,44,40,225,264,40],"39628026","wizzwizz4",[266,44,40,235,267,40],"39630012","mastax",[269,44,41,270,271,40],"39627388","project\u002Fneutral\u002Fidea","angra_mainyu",[273,32,44,274,275,40],"39624220","project\u002Fcritical\u002Fidea","staunton",[277,32,41,270,278,40],"39625136","teaearlgraycold",[280,32,44,274,281,40],"39625402","spockz",[192,41,41,257,193,40],[284,18,40,235,285,40],"39621570","dvfjsdhgfv",[287,18,40,235,288,40],"39621733","OJFord",[290,18,40,235,291,40],"39621736","frankjr",[293,18,40,235,294,40],"39622237","c0balt",[296,18,40,235,297,40],"39622411","soraminazuki",[299,47,44,300,301,40],"39625660","project\u002Fcritical\u002Fdocs","strangemonad",[303,47,40,225,304,40],"39627044","ukz",[306,307,41,270,308,40],"39621322",6,"dflock",[85,307,40,310,11,44],"maker\u002Fneutral\u002Fexecution",[312,307,41,313,314,40],"39651452","project\u002Fneutral\u002Fexecution","Hixon10",[316,307,41,313,314,40],"39656200",[318,307,41,270,319,40],"39624655","3abiton",[321,37,47,322,323,40],"39628503","maker\u002Fpositive\u002Fnone","syrusakbary",[325,326,41,270,327,40],"39621818",8,"Alifatisk",[55,326,40,310,11,44],[330,326,41,270,331,40],"39622831","tekknolagi",[333,326,40,235,334,40],"39626281","pacifika",[336,326,40,235,331,40],"39629998",[338,326,40,235,327,40],"39628288",[340,326,44,274,341,40],"39637574","monfresh",[343,326,40,225,327,40],"39640427",[345,38,44,274,346,40],"39626385","jbverschoor",[348,349,40,235,350,40],"39623998",10,"throwitaway222",[153,349,40,235,154,40],[353,349,40,354,355,40],"39624731","other\u002Fneutral\u002Fprivacy","cdrini",[357,349,40,354,154,40],"39624836",[359,349,40,354,360,40],"39625201","psnehanshu",[362,349,40,354,226,40],"39625303",[364,349,40,365,366,40],"39626713","commenter\u002Fcritical\u002Fprivacy","enriquto",[368,349,40,225,369,40],"39624864","riquito",[371,349,40,225,154,40],"39634139",[373,349,40,225,374,40],"39625270","bigstrat2003",[376,349,40,235,377,40],"39624982","citizenpaul",[379,349,40,235,380,40],"39625096","diego_sandoval",[382,349,40,235,383,40],"39626395","navigate8310",[385,349,40,235,386,40],"39626884","bagels",[388,349,40,235,389,40],"39627688","yard2010",[391,349,40,235,392,40],"39628162","ametrau",[394,349,40,395,377,40],"39630888","commenter\u002Fcritical\u002Fnone",[397,349,40,225,380,40],"39634374",[399,349,40,225,377,40],"39670809",[401,349,41,402,403,40],"39626083","project\u002Fneutral\u002Fnone","jeroenhd",[405,349,41,402,406,40],"39626245","johanbcn",[119,408,41,409,120,40],11,"project\u002Fneutral\u002Fdesign",[216,408,40,411,11,44],"maker\u002Fneutral\u002Fdesign",[413,414,41,270,415,40],"39626836",12,"luke-stanley",[417,414,40,270,11,44],"39628393",[419,414,47,420,415,40],"39628585","maker\u002Fpositive\u002Fidea",[422,414,41,423,424,40],"39631419","project\u002Fneutral\u002Fperformance","mthoms",[426,30,44,427,428,40],"39621584","project\u002Fcritical\u002Fexecution","politelemon",[430,30,40,310,11,44],"39621815",[139,432,44,427,140,40],14,[434,432,40,411,11,44],"39628211",[127,211,47,436,128,40],"project\u002Fpositive\u002Fexecution",[103,211,40,313,11,44],[439,211,47,322,128,40],"39625176",[441,211,41,313,442,40],"39626054","apitman",[444,211,41,423,445,40],"39627347","anonymousDan",[447,448,41,270,449,40],"39626855",16,"tutfbhuf",[451,452,44,300,453,40],"39627279",17,"kunley",[455,452,40,456,11,44],"39628145","project\u002Fneutral\u002Fdocs",[458,452,47,322,453,40],"39645691",[460,452,40,461,11,44],"39684290","maker\u002Fneutral\u002Fnone",[463,464,47,322,465,40],"39624052",18,"bartekpacia",[467,33,47,245,468,40],"39622563","flaminHotSpeedo",[470,471,41,402,472,40],"39621614",20,"hiatus",[474,471,41,402,475,40],"39622059","seabrookmx",[79,471,40,461,11,44],[478,210,44,427,479,40],"39624685","mmh0000",[481,210,40,310,11,44],"39624740",[483,210,40,235,484,40],"39625327","rezonant",[486,487,41,270,488,40],"39628893",22,"moss2",[490,491,47,245,492,40],"39625545",23,"nikisweeting",[65,494,47,245,66,40],24,[496,497,44,274,498,40],"39638402",25,"up2isomorphism",[115,500,47,501,116,40],26,"project\u002Fpositive\u002Fnone",[503,504,44,300,505,40],"39622709",27,"Zambyte",[135,507,44,249,136,40],28,[509,507,41,423,510,40],"39622813","39",[174,512,41,270,175,40],29,[514,512,40,515,11,44],"39628168","maker\u002Fneutral\u002Fidea",[206,517,41,270,207,40],30,[519,517,40,515,11,44],"39624987",[521,517,40,522,523,40],"39625859","commenter\u002Fneutral\u002Fidea","vanous",[525,517,40,522,442,40],"39626094",[527,517,40,522,523,40],"39690261",[529,530,41,270,531,40],"39625520",31,"winwang",[533,31,40,235,534,40],"39624317","deeteecee",[536,537,41,423,538,40],"39621992",33,"Oras",[540,537,40,541,11,44],"39622184","maker\u002Fneutral\u002Fperformance",[166,543,41,270,167,40],34,[545,543,40,515,11,44],"39628182",[547,548,40,235,549,40],"39625618",35,"anon115",[551,552,44,274,553,40],"39622216",36,"k8svet",[555,552,40,235,556,40],"39622299","yjftsjthsd-h",[558,552,40,235,559,40],"39622617","pvg",[561,552,41,270,562,40],"39625183","john-shaffer",[564,552,44,274,193,40],"39632109",[566,567,41,313,568,40],"39623607",37,"nightshift1",[570,567,40,427,11,44],"39625030",[199,572,41,270,200,40],38,[574,572,40,249,11,44],"39624880",[576,577,44,274,578,40],"39624136",39,"astrea",[580,577,40,225,581,40],"39624337","000ooo000",[583,577,44,274,578,40],"39624588",[585,577,47,245,586,40],"39624711","Art9681",[588,577,40,270,11,44],"39624858",[146,590,44,591,147,40],40,"project\u002Fcritical\u002Fdesign",[58,590,40,310,11,44],[594,590,41,313,120,40],"39622497",[596,590,40,310,11,44],"39622583",[598,590,41,313,120,40],"39622769",[72,590,40,515,11,44],[601,590,44,249,147,40],"39629995",[603,590,41,409,604,40],"39622416","Maskawanian",[606,590,41,409,607,40],"39624849","duped",[],[610,614,619,624,628,633],{"id":611,"name":612,"points":613,"category":20},"39597030","Puter",1274,{"id":615,"name":616,"points":617,"category":618},"39557188","Struct",298,"productivity",{"id":620,"name":621,"points":622,"category":623},"39591529","Astro App",291,"learning_science",{"id":625,"name":626,"points":627,"category":618},"39551064","Row Zero",274,{"id":629,"name":630,"points":631,"category":632},"39549194","Workout Tracker",263,"infrastructure",{"id":634,"name":635,"points":636,"category":637},"39619053","Fructose",218,"ai",false,"v2",{"id":641,"name":5,"line":6,"ai":638,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":642,"top":18,"kw":643,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":644,"url":9,"mix":645,"praise":111,"objection":132,"sub":21},39620540,-0.11,[24,25,21,26],"0035120134311000003513435314230331231332",[30,31,32,33],1794036650819]