First it’s possible to not have any “button” on the portal for your app.
But, I see in your install script that you have a path, so if you have and if you need this path, you can’t avoid the “button” on the portal.
Because, this “button” is also an authorisation access for your users.
If your app can be accessible only by it’s port, you can remove this “button” and use your app only like a service listening on a specified port.
You can see the package of minidlna which used like that, only a service without any web interface