That sounds to me like a lot of work just to save a few clicks.
How about instead of having to open the top menu to navigate into a submenu, something like quick icons instead to go into the respective menu directly?
That sounds to me like a lot of work just to save a few clicks.
How about instead of having to open the top menu to navigate into a submenu, something like quick icons instead to go into the respective menu directly?
Thank you for checking, I really appreciate it! I had one domain with HostEurope and one with Porkbun.
I will look into Minio, but since that's a completely new codebase, and I might need to extract additional logs from that to understand the difference, I might not be able to do that.
@joseph Did you have a chance to check this? I understand that the issue isn't a priority, but if the issue really is cloudron-related according to the above, then it would be helpful if this could be fixed eventually.
That's it - it was the browser!
Thanks for your help, no bug then!
Linux is fine. So, this shows the IP of my new server.
Is there a place on my cloudron server where I can see per domain what settings apply? In another thread, you showed me only the reverse proxy settings per app, but I guess these don't really apply here.
@joseph said in Multi-Domain setup in one app:
Do you mean, domain1 is like app.example.com and domain2 is like test.app.example.com ? (where example.com was added in the Domains UI ?)
Yes, domain 1 was example.com and domain 2 was test.example.com. When I changed app 2 and connected anotherexample.com, it worked, so the issue was with using a subdomain compared to using a different domain - in my opinion, because Cloudron cut this information, so my proxy didn't have a chance to get this right.
@joseph said in Multi-Domain setup in one app:
by resolved, do you mean DNS resolution?
0
I am referring to the end result, so any traffic to domain2 (subdomain) went to domain1 for whatever reason.
Could be, and I am happy to test this! However, I have added the domain to Cloudron, and it ran through the setup correctly. The app says running.
But if I access it now, it still says that it is trying (and unable) to access the app which I deleted weeks ago on the other server.
I am happy to run tests to look into this for sure, or we would need to think about some way to reset the settings, if possible, so that I could potentially use this domain again.
Okay, I found the issue. The problem was that for testing purposes, domain2 was a subdomain of domain1. So, all calls made to domain2 where resolved to domain1 - however, not by my app, but by cloudron. When I connected a top-level domain to Cloudron and changed it in my app's settings, the app resolved correctly both domains.
However, I wonder if that should be the case. Granted, if you wanted to use a subdomain, you probably wouldn't need the multi-domain setup, but at least for testing, I would have assumed this would work.
I believe the issue is that Cloudron didn't preserver the original host.
I think I ran into a bug - hard to reproduce, I know, but maybe it helps:
Steps to reproduce:
Expected behaviour:
The domain resolves to the new app.
Actual behaviour:
The domain still tries to resolve to the old, deleted application.
What I have checked:
@robi said in Multi-Domain setup in one app:
How did you define domain2 in the manifest?
I don't think this is possible based on the manifest documentation. I can only set multidomain to true, and then define an alias later.
@joseph said in Multi-Domain setup in one app:
you can inspect the generated reverse proxy config in /etc/nginx/applications/appid/ .
Thank you, I am working through it right now!
Thank you, that has resolved the issue!
Using Phoenix Elixir, I want to build one monorepo app that hosts mini-apps with shared code base that should be reachable under different domains.
I have set up my reverse proxy and tested it. On Cloudron, I have set one app as the main domain and the other one as alias. In the cloudron manifest, I have set
"multiDomain": true,
To debug whether the issue is with Cloudron or my proxy setup, I have run this in the app container:
curl -v -H "Host: Domain1" http://localhost:4000/
and respectively with the other domain. 4000 is the port of the proxy inside my app. Both responses resolve the correct site, so I am assuming that my proxy setup works.
Yet the issue is that Cloudron resolves only the main domain. When I access domain2, I am forwarded to domain1 and my app's logs indicate someone had tried to access domain1.
How can I debug this?
If I put it in the startup script, it says in the cloudron logs
Operation not permitted
Yes, that could be it.
ps uax
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
cloudron 1 0.3 0.5 778012 176572 pts/0 Ssl+ 11:33 0:08 /usr/bin/python3.12 /usr/local/bin/uvicorn main:app --host 0.0.0.0 --port 4000 --limit-co
cloudron 26 0.3 0.0 5044 3968 pts/1 Ss 12:17 0:00 /bin/bash
cloudron 38 0.0 0.0 7480 3072 pts/1 R+ 12:17 0:00 ps uax
The startup script runs exec uvicorn main:app with arguments.
The Dockerfile defines
USER cloudron
which was a guess after different options didn't work before.
How is it supposed to look? I am assuming my app shouldn't run in root, so how do I align these?
I am setting up a new app in python using the localstorage plugin. I can access the /app/data folder, but it has these permissions:
drwxr-xr-x 2 root root 4096 Apr 30 05:37 /app/data
I believe, this explains why I am having a permission issue when my app tries to write into it? I could probably ssh into the server and change it there, but do I have to or can I set up my app in a certain way to get it right from the beginning, for example, when I re-install the app?
The CloudronManifest references the addon:
"addons": {
"localstorage": {},
@nebulon Does the Cloudron healthcheck need to be implemented on root level only or per app?
Right, then updating the error message to indicate that would help, thank you!
When I use --set-repository, I need to reference the docker repository without https at the beginning. If I use https, I run into this rather unspecific error:
(HTTP code 500) server error - invalid reference format
Can we do one of the two:
Using Elixir, I want to build a monorepo (which means, I have technically one app) with different shared apps inside that should utilise shared code, but be reachable with different domains all the time.
In my understanding, I simply configure the domains for the app in Cloudron and then the app itself handles the domain routing? Or is there anything I am missing?
The goal is to have multiple customer-facing apps using multiple domains within one single Cloudron application, but for the user, they should appear completely separated.
Coolify uses docker compose, cloudron doesn't. Cloudron requires to package an app into one container, and from what I have seen with Supabase, this is difficult.