我在几个月前写过一篇配置Bitwarden的文章,当时Traefik 2还没有global configuration,我也没有把Traefik和service的配置分开。我按照我现在的配置思路分别写了WordPress和NextCloud的教程,是时候把Bitwarden的教程也按照同样的配置方法整理一下,并且加上一些之前没说的内容。
跟以前一样,我还是先把docker-compose.yml
文件发出来。
请注意,我的docker-compose.yml
文件需要搭配我的Traefik配置才能使用。Traefik配置可以在这个页面获取。
视频已经更新,请点击阅读全文查看视频。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| version: '3.7'
services: bitwarden: image: bitwardenrs/server:latest container_name: bitwarden restart: always volumes: - ./bw-data:/data environment: - ADMIN_TOKEN= - WEBSOCKET_ENABLED=true networks: - proxy labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - "traefik.http.routers.bitwarden-secure.entrypoints=websecure" - "traefik.http.routers.bitwarden-secure.rule=Host(`bw.yourdomain`)" - "traefik.http.routers.bitwarden-secure.service=bitwarden-service" - "traefik.http.services.bitwarden-service.loadbalancer.server.port=80" - "traefik.http.routers.bitwarden-ws.entrypoints=websecure" - "traefik.http.routers.bitwarden-ws.rule=Host(`bw.yourdomain`) && Path(`/notifications/hub`)" - "traefik.http.middlewares.bitwarden-ws=bw-stripPrefix@file" - "traefik.http.routers.bitwarden-ws.service=bitwarden-websocket" - "traefik.http.services.bitwarden-websocket.loadbalancer.server.port=3012" networks: proxy: external: true
|
可以看到这里我们为Websocket
加了一个middleware bw-stripPrefix
,这个middleware我们需要在动态配置文件dynamic.yml
里面添加如下。
1 2 3 4 5 6 7 8 9 10 11 12
| ... stsSeconds: 31536000 bw-stripPrefix: stripPrefix: prefixes: - "/notifications/hub" forceSlash: false user-auth: ...
|
官方的wiki文档里面有有很多可以设置的东西。我的配置里面设置了WebSocket
,Admin Page
,Disable registration
以及Disable invitations
。各位可以根据自己的需求参考官方文档来做设置。这里提一嘴Admin Page,因为Admin Page里面其实可以设置其他东西,比如说邮箱提醒。Admin Page设置起来非常简单,只需要添加一个ADMIN_TOKEN
的环境变量即可。官方甚至给出来用OpenSSL
生成密码的命令openssl rand -base64 48
。
如果跟着教程走应该很容易就能设置成功。接下来等我把视频做出来之后再过来更新视频版的演示。
感谢收看,咱们下次再见