2FAuth App (post) install issue
The app installs with no issues from Runtipi (that i can see). But clicking on open to open the app webpage just directs me to a white screen.
Has anyone else run into a similar issue? Any ideas on what can be done to address this?

18 Replies
Here is what shows up on the logs within the app:
2fauth-1 | Running version 5.6.0 commit 233496a built on 2025-06-18T12:20:13Z 2fauth-1 | supervisord version: v0.6.8 2fauth-1 | PHP 8.3.19 (fpm-fcgi) (built: Mar 27 2025 11:08:15) 2fauth-1 | nginx version: nginx/1.26.3 2fauth-1 | DB_DATABASE sets with default path, we will use a symlink 2fauth-1 | Actual db file will be /2fauth/database.sqlite 2fauth-1 | /srv/database/database.sqlite is now a symlink to /2fauth/database.sqlite 2fauth-1 | 2fauth-1 | INFO Compiled services and packages files removed successfully. 2fauth-1 | 2fauth-1 | 2fauth-1 | INFO Caching framework bootstrap, configuration, and metadata. 2fauth-1 | 2fauth-1 | config ........................................................ 15.06ms DONE 2fauth-1 | events ......................................................... 1.45ms DONE 2fauth-1 | routes ........................................................ 21.49ms DONE 2fauth-1 | views ......................................................... 27.91ms DONE 2fauth-1 | 2fauth-1 | time="2025-08-21T03:22:28Z" level=info msg="load configuration from file" file=/etc/supervisor/supervisord.conf 2fauth-1 | 192.168.5.87 - - [21/Aug/2025:03:22:54 +0000] "GET / HTTP/1.1" 200 3734 "-" "Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36" 2fauth-1 | 192.168.5.87 - - [21/Aug/2025:03:27:01 +0000] "GET / HTTP/1.1" 200 3727 "-" "Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
that app only answers to either the ip:port or a configured domain.
Thats what i just did .. tried to reach it on a browser via http://<IPAddress>:<port> and all i get back is just a blank white screen!
Yeah. That's intended behavior on the side of the app. Nothing tipi can do.
There is a env set that has the url that the app expects. Can only be one thing. In tipi it is the domain iirc
Sorry, i am a little confused about what you are saying (noob here to the self hosting world).
Can you elaborate a little and tell me more about what is it that the app is expecting that it is not getting?
https://github.com/runtipi/runtipi-appstore/blob/47704788a158f291e6d12041c0e1798a7244a4f4/apps/2fauth/docker-compose.json#L16
APP_URL is the env var that 2fauth expects to come the requests to. it has to be set.
the app in the appstore is getting it via https://${APP_DOMAIN} - which is either the ip if you do not set a domain (iirc) or the domain. but since it is set to
https
it will not work via ip (which only works with http)
so use it with a domain and you will be fineWe may be able to not force https, I will look for a fix :
Something like
${APP_PROTOCOL:-http}://${APP_DOMAIN}
it still would not be consistent. you will only be able to call the app then per ip if you have NOT specified a domain. if it were for just me, i would rather have the app not to expose on ip:port in the first place.
something like ${APP_PROTOCOL:-http}://${APP_DOMAIN}it would be the way cleaner way to specify that though
I agree that non secured HTTP should be avoided as much as possible but I think having ip:port available is easier for newcomers or if you just want to test the app quickly.
With the fix you will just have to deactivate other access to make it work.
At least, this will help people to be aware of not letting open unused access door.
Hello @bobuncle,
You should see an update for 2FAuth, this will fix your problem.
Let us know if you have questions.
I just updated the app and i am still experiencing the same issue.
FWIW.. i am setting this up for access within my home network and not from outside.. so i am completely fine with http (for now) and access via IP (via the Runtipi dashboard) is well setup for my needs at this point.
Please let me know what i am missing following the update to the app.
@Lancelot There is a mention of ".. deactivate other access to make it work..." can you elaborate so i can execute that piece to make it work.
When you go to the settings of 2FAuth, none of the options under proxy should be activated, only access through port, since this is what you want.

Thats exactly how i have it setup and how i am trying to access it currenly following the suggested update.

Ok this is correct, now we need to make sure the
APP_URL
variable is correct@Lancelot But i am still not able to access the page via IP:Port.. What am i missing?
Can you connect to your Runtipi host and execute this command :
docker exec 2fauth_migrated-2fauth-1 printenv
In the output you will need to check the value of APP_URL
Before trying that can you simply uninstall 2FAuth and reinstall it ?Okay.. just did that - uninstalled and reinstalled the app and now its a different issue.
Attached is the screenshot of the webpage that does not even open now! And below are the logs from the Logs tab on 2FAuth

@Lancelot Here are the logs
Just restart the app once