-
Notifications
You must be signed in to change notification settings - Fork 400
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Value for APP_HOST: <web-container-ip-address> is not clear #96
Comments
Hey @prologic Currently we set every container to have a static IP, like so: umbrel-apps/agora/docker-compose.yml Line 65 in ac96696
And then the env. var. for this IP we store in the app's Line 1 in ac96696
Finally, the I hope this helps! |
@nevets963 Hey Steve! Cool thanks for the explanation, that should go on the README somewhere. Now... Sorry to be blunt, but this is kind of nuts 😅 How do you determine what the IP address should be for new App submitters? Grep for Why aren't we using Docker's built-in DNS SD (DNS Service Discovery) here and built-in in networking? I must admit, defining static ips for services in a Docker environment is really super weird to me. I normally run Docker Swarm clusters and we just don't do this (like at all). |
Looks like (if I'm not mistaken) there are 3 potential Apps in this repo that have IP address collisions if I'm understand what you're saying correctly:
🤔 |
Okay if I were to submit an app the next logical IP address should be
|
Some more related questions:
|
Hi @prologic Currently we use these hard-coded IPs for legacy reasons however this will eventually go and we'll be using DNS. When developers submit an App Submission PR we will take care of the IPs for you and allocate IPs that are not used so you don't need to worry about this. I just looked up those 'duplicates', but they're only harmless re-definitions and infact 1 typo (with LNDg). Re your questions:
Some apps simply use a default password for a certain internal component. Here is 1 example: umbrel-apps/photoprism/docker-compose.yml Line 28 in 04c31a4
We also provide a variable called
User-defined configuration is managed by the app. If you have state e.g. to store settings, then you can store this state persistently on the host using a volume defined in the umbrel-apps/photoprism/docker-compose.yml Lines 44 to 45 in 04c31a4
|
Okay! 👌
This is not suitable for things like JWT Signing tokens, Cookie Secrets. Is there any other recommended way to set these more securely?
How do I use this?
This is not what I thought it was then. Is there a FQDN for an installed App that is publicly routable and resolvable? My app needs to know this up-front.
This is not what I mean by "user defined" configuration. For example the Vultr App Marketplace prompts the user for configuration values (defined. by the App Vendor). Is there something like for this Umbrel Apps? Finally, I cannot use Umbrel in it's current form nor recommend it because Umbrel (by default) in *insecure. Please see my comment. This needs to be addressed before I even continue this journey. I'm not going to contribute apps to a platform that is insecure by design 😢 As I said in the comment, a minimal way to fix this would be to setup Let's Encrypt for secure ingress for NGINX so that traffic path is secure, right now it's wide open and sniffable (regardless of the network). |
If you for example use Signed Cookies (using perhaps: https://www.npmjs.com/package/cookie-parser) then the
Not currently. The primary usecase for Umbrel (atm) are users running the server in their home on a Raspberry Pi. Their home server is running behind a gateway and not publically accessible via clearnet - only accessible via the LAN. In Umbrel v0.5 we made it much easier to run Umbrel anywhere (including the cloud) as we unbundled Bitcoin from Umbrel. We however, didn't introduce any additional features to support HTTPS out of the box for this usage model. The comments/summary from @lukechilds details why running TLS on a LAN is difficult: getumbrel/umbrel#546 (comment) We're open to suggestions here - maybe we've missed something re running TLS on a LAN?
No, not at this time. I can however see the potential usecases, setting passwords, or setting some specific configuration applicable to the underlying hardware (max threads, max memory, etc). |
Going through the README I noticed:
As part of the example
docker-compose.yml
. Looking around at other apps that have been submitted here I see IP address of10.21.21.X
.How are we determining the IP address space here? How do I choose a valid IP? This makes no sense to me 🤦♂️
The text was updated successfully, but these errors were encountered: