Bitwarden and Nginx proxy manager

tuff_wizard@aussie.zone to Selfhosted@lemmy.world – 31 points –

Hello

I installed bitwarden via their install script a while back and all was working well.

recently I wanted to start running a reverse proxy because security and also its cooler to type in a domain name instead of numbers. I disabled the ngnix instance that bitwarden had installed because it was hogging the same ports a Ngnix Proxy Manager.

Now how should I get Bitwarden accessable? I have the .conf file from the bitwarden Ngnix instance, can I just load that into NMP somewhere?

or should I just change the ports the old ngnix operates on and point NPM at it when the bitwarden subdomain is accessed?

if it was just one service it would be simple but there are many running in the bitwarden stack, all on the same port and I'm very new to ngnix so I can't fully grasp what the .conf file is doing and I'm unable to add new passwords to bitwarden until I get this sorted out.

Thanks

Edit: bitwarden is in docker container, as is Nginx Proxy Manager

10

SWAG is great for overwhelmed Nginx beginners. It comes preconfigured with reasonable defaults and also provides configs for a bunch of popular services: https://github.com/linuxserver/reverse-proxy-confs. Both Bitwarden and Vaultwarden are on there.

Note that this setup assumes that you will run your service (Bitwarden/Vaultwarden) in a Docker container. You can make SWAG work with something that's running directly on the host, but I'd recommend not starting with that until you've fooled around with this container setup a bit and gained a better understanding of how Nginx and reverse proxies in general work.

SWAG works perfectly, so much easier. It also handles the Let's Encrypt certificates automatically - no more having expired domains.

If a service config isn't available, you can confidently copy another and make a few modifications and have it up and running in no time

Nginx Proxy Manager does also manage certificates, it makes it even easier to create separate certificates for different subdomains, which is nice for my sanity.

I don't like that anybody checking out one certificate of any service and get all the subdomains I'm running too, and wildcard certificates are bad practice.

I was running the LS.io Letsencrypt container as it was named before, and SWAG for years, without any problems, it does its job, but then i've tried NPM and it made my life easier, i love the ability to change access rules or proxy settings with some simple clicks too, without having to edit countless config files for simple changes everywhere, that's what ultimately made me stay there.

If you aren’t too deep into the nginx rabbit hole then I would recommend Caddy very much, it is an amazing improvement over nginx and is much friendlier to configure and use. It also supports no nonsense integration with Let’s Encrypt as an added bonus!

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
HTTP Hypertext Transfer Protocol, the Web
SSL Secure Sockets Layer, for transparent encryption
nginx Popular HTTP server

2 acronyms in this thread; the most compressed thread commented on today has 12 acronyms.

[Thread #236 for this sub, first seen 24th Oct 2023, 04:35] [FAQ] [Full list] [Contact] [Source code]

Their script has places you can specify a certificate and server name in the main config file inside your bitwarden data folder. Probably no need to use another container to accomplish the thing. For example in the config I disabled SSL and have my FW as the reverse proxy going to nginx:80.

I'm not near a terminal to look but from what I remember I modified the given docker compose to comment out nginx and pointed the instance I already had up at the bitwarden container. There may have been another edit or two I stumbled over.

I'll look when I get home and edit this post. GL