Skip to content

Custom domain #123

Description

@NoelDeMartin

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?

Activity

  1. Potherca commented on May 22, 2023

    @Potherca
    Member

    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.

  2. poef commented on Jul 5, 2023

    @poef
    Member

    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.

  3. Potherca commented on Jan 20, 2024

    @Potherca
    Member

    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.

  4. Potherca commented on Jun 2, 2025

    @Potherca
    Member

    This might be easier after the upcoming release of user subdomains (which, instead of http://nextcloud.local/apps/solid/~user/profile/card#me uses http://user.nextcloud.local/apps/solid/profile/card#me).

    We'd have to run a proof-of-concept (PoC) to see if we can then create http://user.nextcloud.local/solid/profile/card#me using a custom the app directories.

    All of the URL are generated using the Nextcloud UrlGenerator1, so that might work out of the box 🤔

    Footnotes

    1. Or at least, they should be. Any URL that does not should be considered a bug that needs fixing. ↩

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions