Below steps allow you to setup Websocket support for your Bitwarden_rs installation running on Synology Diskstation. You can do all steps using the GUI so there is no SSH Access needed.
- Working HTTPS Reverse proxy Setup (Control Panel -> Application Portal -> Reverse Proxy)
- Set Enviourment Variable
WEBSOCKET_ENABLED=true
in your Bitwarden container and expose the container port3012
to a local port, in my case5556
.
- Download enable_ws.sh
- Upload the script "enable_ws.sh" onto your Diskstation. I would recommand putting it in your Bitwarden directory. In my case
/volume1/docker/bitwarden
Control Panel -> Task Scheduler -> Create -> Scheduled Task -> User-defined Script
Make sure to amend the command according to your setup.
/volume1/docker/bitwarden/enable_ws.sh
= Full path to previously uploaded scriptvault.example.com
= Hostname of your Bitwarden_rs as configured in the Reverse Proxy5555
= Exposed ROCKET_PORT by Docker (The same as in your Reverse Proxy setup)5556
= Exposed WEBSOCKET_PORT by Docker
Run Command (My example):
bash /volume1/docker/bitwarden/enable_ws.sh vault.example.com 5555 5556
General Settings
Task -> Enable BW WS
User -> root
Enabled -> Tick
Schedule
Run on the following days -> Daily
Frequency -> Every hour
Task Settings:
(Optional) Enable Notifications
Run Command: <Paste Command Crafted Above>
Save and run the new task by selecting Run
. Login into your Webvault and confirm in your web browsers developer console that the connection to wss://
succeded.
Thanks for doing this @MilesTEG1 @RonV42. I too am on DSM 7 but would like to make the changes required manually if possible, only so if anything goes wrong in future I have understand what I am doing.
What is the end result of the script? Trying to look at the code so far it looks like
It creates a file in /etc/nginx/ called websocket.locations.vaultwarden containing
And then adds
include /etc/nginx/websocket.locations.vaultwarden;
this file to /etc/nginx/sites-enabled/server.ReverseProxy.conf
EDIT:
Ran the script as I think I know what it was doing from the above, noting I had to sudo su after SSHing in to get permissions.
Works absolutely perfectly. Thank you!