Your addon needs to be signed. The best way to sign it is to upload it to AMO. If you think it should not be on addons.mozilla.org then you can sign it as an unlisted extension with jpm sign or web-ext sign.
After your addon is signed, you need to host it somewhere that responds with the correct Conten-Type header. Github pages does this by default. For example here is a WebExt build of REH I made.
Since you did not provide a link I cannot be sure why it does not work for you.
There are two ways to install add-ons outside of AMO. The first one is the one you’re using, with a warning, and the second one is to bundle the add-on with an application installer. The docs explain what the installer would need to do.