udevbe / greenfield

HTML5 Wayland compositor :seedling:
GNU Affero General Public License v3.0
918 stars 28 forks source link

Cannot GET / #2

Closed parsley42 closed 5 years ago

parsley42 commented 6 years ago

Sorry I don't really know much about node applications, so this might be a dumb question. I'm trying to run this remotely, but my connection to port 8080 is always answered with Cannot GET / (even if, for instance, I curl localhost:8080). Is there an index page that I should be getting but I'm not? I tried looking for /index.js and a few others, but no luck.

Zubnix commented 6 years ago

Can you copy-paste the output of npm install (make sure to remove node_modules directory first) and separately npm start to https://hastebin.com/ and provide me the link? Perhaps some OS dependencies are missing during installation(?)

Zubnix commented 6 years ago

Here's what a successful build looks like: https://pastebin.com/KrHfqh8M And here when it's started after connecting to localhost:8080: https://pastebin.com/B1XrisyV

parsley42 commented 6 years ago

Here's my build: https://pastebin.com/e0iSvJN0 ... and here's npm start:

$ npm start

> greenfield-client@1.0.0 start /home/parse/git/greenfield
> node ./local/src/index.js

 --- Loaded configuration: /home/parse/git/greenfield/local/src/DefaultConfig.json ---
{
  "http-server": {
    "port": 8080,
    "socket-timeout": 6000,
    "static-dirs": [
      {
        "http-path": "/apps/icons",
        "fs-path": "./app-entries/"
      }
    ]
  },
  "png-encoder": {
    "max-target-buffer-size": 65536
  },
  "desktop-shell": {
    "apps-controller": {
      "app-entries-urls": [
        "file:./app-entries/"
      ]
    }
  }
}

>>> Running in PRODUCTION mode <<<

I haven't scrutinized my build yet for differences from yours. When I connect to 8080, I'm still just getting: Cannot GET /.

Thanks for having a look. BTW, what distro are you using? I'm doing this on AWS instances and can spin up just about anything; right now I'm trying on Amazon Linux 2 with CentOS7 RPMFusion packages.

parsley42 commented 6 years ago

Oh, also - the npm start output is all I ever get; no additional output when I try to connect, just the error in my browser window. I'm just hitting ctrl-c to exit.

parsley42 commented 6 years ago

... Success ! I'll keep working on this for Amazon Linux 2, but on Fedora I found that I needed to install Java for the last part of the build. So I'm getting a page w/ icons on Fedora 28.

parsley42 commented 6 years ago

Java on Amazon Linux 2 didn't help. I'll keep playing with Fedora.

Zubnix commented 6 years ago

Ah yes, the Java part is needed (but should actually be very much optional really) to minimize the build using google closure compiler. I'll update the build & readme instructions to remediate that.

Zubnix commented 6 years ago

I have tested greenfield on Ubuntu, Debian & Gentoo without issue. I'm confused about the error you get. In essence nearly all the web parts are just static files (javascript, html & images) that are served through a simple nodejs express library: https://github.com/udevbe/greenfield/blob/master/local/src/index.js#L51

Perhaps the relative path resolving does not point to the expected directory on amazon? You can try adding console.log(path.join(__dirname, '../../browser/dist')) before that line to see what it resolves to.