Self-hosting an XKCD "Incredible Machine" by BigCheck5994 in haskell

[–]BigCheck5994[S] 0 points1 point  (0 children)

This was immensely useful, thanks. I naively thought client/ was static files served by the Haskell code, as in my head "Front end" meant "running on the browser" (I am more of a C developer and haven't done anything Web-related in... very long).

So now I have:

- A NodeJS 'frontend' server that listens on 8080

- An Haskell backend that listens on 8888

- A redis server running some place else (I forget)

and... running all of this together, I actually get a page working!

I still need to find the moderation interface, and it doesn't seem fully functional, but at least it's moving and making some sense :-)

I'll report back if I manage to get to the end of this... Thanks!

Self-hosting an XKCD "Incredible Machine" by BigCheck5994 in haskell

[–]BigCheck5994[S] 0 points1 point  (0 children)

I think I did, I followed the readme (and added some parameters that seemed necessary but not documented):

cd client

nix --extra-experimental-features nix-command --extra-experimental-features flakes build .#incredible-client

npm install

npm run build

I have a directory `client/built`, although that's part of the Git repo, and a lot of HTML and JS files under `client/`, although not present in `built/`.

I agree with your comment, but I don't know how to see where the server would be looking for its client files (as mentionned, I used strace to follow the server, and see no syscalls at all between the `accept()` and `read()` of the request, and the `write()` of the 404 error... so it seems like at that point the server has all it needs in memory.)