Hello, I was wondering if there’s a possibility for us to make the remote and external domains custom and changeable from inside the app UI?
We have a product that has a self-hosted version, and we want all our clients to use the plugin, so each client can specify the exact domain from where he can fetch and exchange the data.
1 Like
Super interesting use-case.
Just to confirm, right now to have a single Forge app support all of your users, you’d need something like this in your manifest:
permissions:
external:
images:
- '*.com'
Ideally, the domains could be updated dynamically based on configuration the user supplies during onboarding, yeah?
To answer this directly… no, not something currently possible.
A potential, but maybe not ideal, workaround could be to create a non-self-hosted proxy that you pass everything through. 
2 Likes
Is this still not possible - to allow the site admin to configure the remote service base URL during onboarding?
I’m starting a project that will have a similar requirement (would like to fetch data from a service with a site-specific and site-configurable host).
Since most (or many) companies would have this service behind a VPN or other similarly “internal” host, the most logical way to achieve this would be to make the REST request from the client using the hostname configured by the site admin, thus it would be available only if the user is already signed in to the external service. Because of this, the “non-self-hosted proxy” solution is not going to be a viable solution. This would only be a viable solution for sites that have this service installed in a publicly accessible location.
Barring that, the only other solution I can think of is to require every site that wants to use our app, to go through the development process to clone our source code and create their own version of the app with their own domain configured in permissions.external.fetch.client: ["service.company.internal"]
, and deploy and install that app on their own sites.
Simple example similar to what I have in mind: a github plugin that needs to communicate with something like a self-hosted Github Enterprise server, where the site admin would configure the Github Enterprise base URL, allowing the app to make egress requests to that self-hosted service. Just for clarification: I am not referring to Github or Github Enterprise specifically, so pointing me in the direction of an existing Github Enterprise implementation does not actually solve my problem. This is just for illustration.
1 Like
Bumping this. If anyone knows if there are any workarounds or updates that will let developers use app customer configured remotes/egress-permissions for self hosted applications.
My current options are
- Maintain a forge app for each customer with unique domains
- Hacky idea: Swap out the domains in the manifest, push to prod, and generate a new install link each time a customer needs to install
- Force the customer to provision/admin their own forge application