node.jsnpmsolid

Solid server (project by Sir Tim Berners-Lee and MIT) not loading correct configuration


I was trying to spin a Solid Server. I've followed the instruction from Solid project (https://solid.inrupt.com/docs) to set up an server. However, when the service is running, it fails to start and complaints about path is not defined:

● solid.service - solid - Social Linked Data
Loaded: loaded (/lib/systemd/system/solid.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2018-10-01 21:47:49 UTC; 4s ago
 Docs: https://solid.inrupt.com/docs/
Process: 2519 ExecStart=/usr/bin/solid start -v (code=exited, status=0/SUCCESS)
Main PID: 2519 (code=exited, status=0/SUCCESS)

Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Config path: ./config
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Suffix Acl: .acl
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Suffix Meta: .meta
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Filesystem Root: /var/www/my.server.com/
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Allow WebID authentication: true
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Live-updates: true
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Multi-user: false
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Suppress default data browser app: undefined
Oct 01 21:47:49 Mars solid[2519]: Mon, 01 Oct 2018 21:47:49 GMT solid:settings Default data browser app file path: default
Oct 01 21:47:49 Mars solid[2519]: ERROR Path must be a string. Received undefined

From this log, it seems like solid is still trying to read config from ~/.config path, although when I ran solid init command, I changed the location to /var/www/my.server.com/config/config.json. So the question is how do I resolve this issue? if the server is not loading current config or loading a cached config, how do I clear it?

I would really appreciate any help on this. Thanks.


Solution

  • I ran into the exact same issue (and more so afterwards...)

    What fixed it for me, was to move the config.json into /var/www/my.solid.server and not in the config/ subdirectory. The service definition points to 'var/www/my.solid.server' as its working directory and the solid executable tries to find config.json in that folder.

    The documentation is a on pretty minimal level. Hope they keep growing this great idea. Hope this helps a little.