利用Azure免费Web搭建Bitwarden(可自动备份/还原)

原教程:https://www.hostloc.com/thread-703431-1-1.html

序言

各位手里可能有那么些个用完12个月免费服务的Azure吃灰号,正好可以搞点有用的东西。Bitwarden就不多说了,自托管的密码管理程序,用起来也蛮舒服的,全平台都有客户端。

Github:

如何安装

  • 应用程序服务(App Service),添加,输入名称,发布选中Docker,操作系统选Linux,区域按需选择,SKU和大小选择免费的F1计划,直接查看并创建,再点击创建。
  • 稍等几分钟部署完成后点击转入资源。
  • 修改一些环境配置,侧边栏 设置(配置), 应用程序设置,WEBSITES_ENABLE_APP_SERVICE_STORAGE值改为true,部署槽位设置不要勾选。
  • 侧边栏 设置(配置),常规设置,Web套接字(web sockets)改为开,点击保存,继续。
  • 侧边栏 开发工具(高级工具) – 转到 – 导航栏点击Bash,执行如下命令,可以Ctrl+V粘贴。
mkdir /home/site/wwwroot/bitwarden
wget -P /home/site/wwwroot/bitwarden/
https://raw.githubusercontent.com/hjh142857/scripts/master/Azure_Bitwarden/bitwarden.sh
  • 6、侧边栏 设置(容器配置),Docker Compose (预览版) ,Docker Hub,公开Public,连续部署(关),按自己需求修改好docker-compose.yml中的环境变量配置,粘贴完yml配置后点击保存(tips: yml配置的中文注释要删掉,不然会出现点保存没反应)
  • 7、侧边栏 概述Overview – 重新启动Restart。
  • 8、差点漏了,弄完之后去https://uptimerobot.com/开一个网页监控防止休眠,6小时实测,设置半小时一次http访问就没问题了。

如何更新镜像

保证两倍定时备份周期内没有提交密码更新或注册新用户,之后按照步骤7重新启动即可。如YML文件中默认设置的定时周期是10分钟,则20分钟内不提交新的数据即可。正常情况Azure会自动拉取最新的镜像,如果发现没有自动拉取最新镜像,可以在YML配置文件中修改image项目,指定引用的镜像版本,如把image: bitwardenrs/server:alpine改成image: bitwardenrs/server:1.15.1-alpine。建议选择alpine打包的系列以节省免费计划有限的资源配额。

Web Admin登陆后跳转到localhost怎么办

  • 已解决,参照20200616更新后的YML配置文件,添加DOMAIN环境变量。

YML的参考配置

Github:https://github.com/hjh142857/scripts/tree/master/Azure_Bitwarden

version: '3'

services:
  bitwarden:
    image: bitwardenrs/server:alpine
    restart: always
    volumes:
      - ${WEBAPP_STORAGE_HOME}/site/wwwroot/bitwarden:/home
    entrypoint: /home/bitwarden.sh
    command: ["/bitwarden_rs"]
    environment:                                   # 环境变量配置完成必须删除所有中文注释,否则无法保存
      - WEBSOCKET_ENABLED=true                     # 启用websocket,用于推送密码变化
      - SIGNUPS_ALLOWED=true                       # 允许注册新用户,设置为false则禁止新注册
      - WEB_VAULT_ENABLED=true                     # 用户web页面,设置为false则关闭
      - ADMIN_TOKEN=your_web_admin_panel_password  # web管理员页面的密码,不设置则关闭管理面板,详细请阅读README
      - DOMAIN=https://your_domain                 # 域名设置,免费F1计划域名格式为https://xxx.azurewebsites.net
      - REALTIME_BAK_CYCLE=10                      # 定时备份间隔分钟数,需要能被60整除,设置为0则关闭所有备份(包括FTP备份)
      - DAILY_BAK_COUNTS=5                         # FTP每日备份的保留份数,每天北京时间0时备份
      - FTP_URL=ftp://your_ftp_url/your_folder/    # FTP备份地址,必须以/结尾,否则会出现错误。不设置本项则禁用远程FTP备份
      - FTP_USER=your_ftp_username                 # FTP用户名,不启用远程FTP备份可以不设置
      - FTP_PASS=your_ftp_password                 # FTP密码,不启用远程FTP备份可以不设置

  nginx:
    image: nginx:alpine
    volumes:
      - ${WEBAPP_STORAGE_HOME}/site/wwwroot/bitwarden:/home
    ports:
      - "80:80"
    restart: always
    entrypoint: /home/bitwarden.sh
    command: ["nginx","-g","daemon off;"]
    depends_on:
      - bitwarden

一些小细节

完整版请大家移步作者的Github:https://github.com/hjh142857/scripts/tree/master/Azure_Bitwarden
在此我节选一部分

  • 在自己注册账号后想关闭注册,请等/home/site/wwwroot/bitwarden/backup_realtime目录下生成新的备份文件后再修改YML关闭注册。
  • 当前免费的F1计划websocket有BUG暂时无法使用,正在解决中,参考Azure官方文档Github Issue
  • 从FTP下载备份还原,下载完成后放到/home/site/wwwroot/bitwarden/backup_daily目录下并清空backup_realtimebackup_daily目录下其他所有备份,重新启动容器即可还原。
  • 关闭注册后不会删除创建账号按钮,但已经注册不了了。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇