密码管理器Vaultwarden

参考

Vaultwarden安装

  1. 安装docker
  2. 下载vaultwarden/server镜像:本地下载
  3. 使用Docker Compose部署vaultwarden,
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    vaultwarden:
    image: vaultwarden/server:1.32.7
    container_name: vaultwarden-vaultwarden
    networks:
    - vw-network
    ports:
    - "80:80"
    volumes:
    - /root/vaultwarden/data:/data # 挂载本地目录到容器内的/data目录,用于持久化数据
    environment:
    - WEBSOCKET_ENABLED=false # 可选:启用WebSocket支持
    - SIGNUPS_ALLOWED=true # 可选:禁止注册(如果你只想自己使用或控制用户注册)
    # 更多环境变量可以根据需求添加,例如设置管理员令牌等
  4. 访问http://localhost:80即可使用vaultwarden。

使用Nginx反向代理实现HTTPS(可选)

  1. 使用Docker Compose部署vaultwarden与nginx
    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
    version: '3'
    services:
    #服务的名称
    vaultwarden:
    image: vaultwarden/server:1.32.7
    container_name: vaultwarden-vaultwarden
    # restart: always
    networks:
    - vw-network
    volumes:
    - /root/vaultwarden/data:/data # 挂载本地目录到容器内的/data目录,用于持久化数据
    environment:
    - WEBSOCKET_ENABLED=false # 可选:启用WebSocket支持
    - SIGNUPS_ALLOWED=true # 可选:禁止注册(如果你只想自己使用或控制用户注册)
    # 更多环境变量可以根据需求添加,例如设置管理员令牌等
    nginx:
    image: nginx:1.27.3
    container_name: vaultwarden-nginx
    networks:
    - vw-network
    ports:
    - "8085:443"
    volumes:
    - /root/vaultwarden/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro
    - /etc/letsencrypt/live/exwckv.top/fullchain.pem:/etc/nginx/certs/fullchain.pem:ro
    - /etc/letsencrypt/live/exwckv.top/privkey.pem:/etc/nginx/certs/privkey.pem:ro

    networks:
    vw-network:
    driver: bridge

  2. 配置nginx的default.conf文件。
    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
    # /etc/nginx/conf.d/default.conf
    server {
    listen 80;
    server_name exwckv.top;
    return 301 https://$host$request_uri; # 将所有HTTP请求重定向到HTTPS
    }

    server {
    listen 443 ssl;

    # 如果没有域名,可以省略 server_name 指令
    # 或者直接指定服务器的公网IP地址
    server_name exwckv.top;

    ssl_certificate /etc/nginx/certs/fullchain.pem; # 指定SSL证书的位置
    ssl_certificate_key /etc/nginx/certs/privkey.pem; # 指定SSL私钥的位置

    location / {
    # 使用Docker Compose 中代理的服务名称
    proxy_pass http://vaultwarden;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    }
    }