solid-nextcloud icon indicating copy to clipboard operation
solid-nextcloud copied to clipboard

Custom domain

Open NoelDeMartin opened this issue 2 years ago • 4 comments

I recently realized that the url of documents are a bit cumbersome to use. For example, in my local instance the webId is the following:

http://nextcloud.local/index.php/apps/solid/@admin/profile/card#me. Where:

  • http://nextcloud.local is the domain of the nextcloud instance.
  • /index.php/apps/solid/ is the path to the app.
  • @admin is the username of the Nextcloud user.
  • /profile/card#me is finally the document in the Solid POD.

I wonder if it would be possible to configure it so that the Solid POD is served on a custom domain? Ideally I could set it up to be whatever I want, like https://mypod.com/profile/card#me. I guess I could do some rewrites in the server itself to make it transparent to the app, but the RDF data in the POD would still contain the entire url, right? Is there a way to work around this?

NoelDeMartin avatar May 17 '23 17:05 NoelDeMartin

Good question! I don't know the answer straight away, I'll have to dive into the code and come back to you on this.

Potherca avatar May 22 '23 09:05 Potherca

A related issue that could be fixed with custom domains is a security issue. If you host HTML content for different people under the same domain, you can get all kinds of security issues. If each person got their own subdomain, e.g. auke.solid-nextcloud.org/, these problems would go away. So I think we should try to make this the default, or at least very easy to setup. I know how to do this for Apache and Nginx should be easy as well, but this side is almost impossible to automate. On the nextcloud (or solid plugin) side we'll need some extra code as well, not sure how much work this will be. Anyway, I would like to prioritize this issue.

poef avatar Jul 05 '23 07:07 poef

Looking at the docs it would be easy to go:

  • from http://nextcloud.local/index.php/apps/solid/@admin/profile/card#me
  • to http://nextcloud.local/apps/solid/@admin/profile/card#me

using "Pretty URLs"

In theory it could be possible to go

  • from http://nextcloud.local/apps/solid/@admin/profile/card#me
  • to http://nextcloud.local/solid/@admin/profile/card#me

by customizing the app directories

Although that is likely to have unexpected side effects.

Alternatively, as the Pretty URLs solution requires editing Apache config or .htaccess for redirects, something could be done there, but that would require some further thinking.

I think part of the issue is that Nextcloud is created with the idea of multiple users in mind... Not entirely sure how that would impact trying to get rid of the @admin in the URL. We'd have to experiment to find out, I guess.

Potherca avatar Jan 20 '24 11:01 Potherca