Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I see a bit of C as well ? Also, do we need to use Docker ? I am very interested in trying but wanted to check.

If it is Go, can I not just compile the binary and execute ?



C is necessary because PHP is written in C. So CGO is used to interface with PHP directly from Go, from a Caddy plugin.

Docker is definitely not necessary, but it is the easiest way to ship something that just works. Since you need a bunch of build dependencies to compile PHP, the installation steps are different for every distro to pull those in with whatever's your package manager.


When do things ever "just compile"? I assume the Docker image is because this is a pre-alpha and the docker image ensures that no one needs to go through hours of dependency/config hell because the docker image is set up with everything necessary already, letting you focus on alpha-testing this and reporting bugs.


typically I find CMake would do this, or Make, to verify dependencies.

Coupled with a packaging system, like debian gives you, this is all pretty straightforward.

I ran into this yesterday, and turns out I don't want to install docker just to build a program...


Right, but there are as many setups as there are potential users, so even if Debian works, that doesn't mean other linux flavours will work as easily, or flavours of BSDs, and then also Macs, and even WSL, or even just plain old Windows.

Having an "everyone gets the same thing, so no one wastes time on bootstrapping" solution is a perfect use-case for Docker. And then once the bugs have been found and fixed, and the code is production-ready, you can focus on documenting and scripting the setup procedures for the various operating systems.


As an aside, may I ask what people's opinion of running docker containers in prod is? The joke "But it works on my local--" "Then ship your local".


The big win of Docker for me is parity between dev and prod. I absolutely run on Docker in prod. It is not just a dev tool.


Been using docker in prod for over 5 years now...


I don't understand. I thought you needed different docker files for different architecture? x64 vs M1 chips?


Except of course in this case that's not what you'd be doing. You'd be installing Docker to help beta-test a program, not "just build a program". If you want to help an open source project succeed, having to install Docker is kind of a trivial cost. If you want to use this... probably not a good idea, it's extremely not ready for general use =)


Or Nix :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: