【超简单!】通过1panel使用docker部署bitwarden并配置mysql数据库和CDN加速以及自动化备份教程

教程被搬运狗搬了,不更新了,烂尾

hallo大家好啊,我是初来乍到的linuxdo小白,这是我在linuxdo的处女贴,(:请各位慢点,怕疼。
废话不多说我们开始吧!
:grinning_face:
在此之前你需要准备:聪明的脑子 :skull:,灵活的手 :waving_hand:,友善的嘴巴 :grinning_face_with_smiling_eyes:,认真的耳朵 :ear_with_hearing_aid:

一、环境准备与1Panel安装

  1. 服务要求
  • 推荐系统:Ubuntu/debian(务必使用最新的系统,不建议使用Centos)
  • 硬件配置:1核CPU以上、2GB内存、20GB存储(支持轻量级MySQL运行)
  • 域名:需要自己的独立域名,可选是否备案(用于HTTPS证书申请和CDN加速)

2.开始搭建
首先通过你能想象到的一切方法打开你购买的服务器ssh终端连接然后输入以下命令
Ubtnun

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

Debian

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

一路回车最后记录下ssh终端打印的1panel信息(外网/内网连接地址,用户名和密码),浏览器打开服务器的1panel网页管理地址


登录到1panel管理面板后恭喜你已经完成了第一小步子 :laughing:

二.部署bitwarden前的准备

1.登入1panel后找到侧边栏选择应用商店并打开选择安装如下软件

  • mysql(数据库,最新版本即可)
  • OpenResty(web平台,用于反向代理bitwarden到外网)

这两个软件直接点击搜索然后一键安装即可

2.创建一个mysql数据库
点开1panel侧边栏的数据库按钮跳转的数据库页面后请按照如下配置创建数据库

  1. 数据库名称(自定义)
  2. 数据库用户名(自定义)
  3. 数据库密码(自定义,建议使用复杂密码)
  4. 权限(所有人%)

确定配置后点击确认即可

3.创建一个网站用于反向代理bitwarden服务
点开1panel侧边栏的网站按钮>网站选项跳转网站管理页面后请按照如下配置创建反向代理网站

  1. 网站类型(反向代理)
  2. 分组(默认)
  3. 主域名(你为bitwarden准备的专用域名)
  4. 其他域名(默认不写)
  5. 监听IPV6(可选可不选)
  6. 代号(同网站目录地址,默认即可)
  7. 代理地址(填写bitwarden服务地址端口,本篇教程为
    http://127.0.0.1:8080

三.开始部署bitwarden

1.打开1panel的应用商店搜索Bitwarden
2.点击安装(请按照如下要求配置)

  1. 名称(随意,推荐使用Bitwarden,BitwardenServer,Vaultwarden,VaultwardenServer等名字)
  2. 版本(默认即可,后续会通过自定义 compose修改安装版本)
  3. 端口(这里使用8080)
  4. 高级设置(这里要开启)
  5. 容器名字(与第一个配置“名称”一样即可)
  6. 端口外部访问(这里不要开)
  7. CPU限制(默认即可)
  8. 内存限制(默认即可)
  9. 编辑 compose文件(这里要开启)
  10. 拉取镜像(开启)

3.自定义 compose配置

networks:
    1panel-network:
        external: true

# 定义服务列表
services:
    # 服务名称:vaultwarden(Bitwarden 密码管理器的 Rust 实现)
    vaultwarden:
        # 指定容器名称(使用环境变量 CONTAINER_NAME 的值)
        container_name: ${CONTAINER_NAME}
        
        # 部署配置(通常用于 Docker Swarm,但单机模式也可识别)
        deploy:
            # 资源限制配置
            resources:
                limits:
                    # 限制 CPU 核数(使用环境变量 CPUS 的值)
                    cpus: ${CPUS}
                    # 限制内存使用量(使用环境变量 MEMORY_LIMIT 的值)
                    memory: ${MEMORY_LIMIT}

        # 环境变量配置
        environment:
            # 启用管理员令牌
            ADMIN_TOKEN: true
            # MySQL 数据库连接字符串(格式:mysql://用户名:密码@主机:端口/数据库名)
            # 这里按照格式填写之前创建的数据库连接信息
            DATABASE_URL: "mysql://vaultwarden:passwo@1Panel-mysql-OeCW:3306/vaultwarden"

        # 使用官方最新版镜像
        image: vaultwarden/server:latest
        
        # 容器标签(用于元数据管理)
        labels:
            createdBy: Apps  # 标识创建者

        # 连接到的网络
        networks:
            - 1panel-network  # 使用预定义的 1panel-network

        # 端口映射(格式:主机IP:主机端口:容器端口)
        ports:
            - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:80  # 将主机端口映射到容器 80 端口

        # 重启策略:始终自动重启
        restart: always

        # 数据卷映射
        volumes:
            # 将宿主机 /opt/vaultwarden 目录挂载到容器 /data 目录
            - /opt/vaultwarden:/data

四.启动Bitward并配置自动备份

以上步骤全完成后就可以尝试启动Bitwarden服务了,这时候把第二部分第三步创建的网站的域名解析到服务器上,后打开域名应该就可以访问vaultwarden了(如果不行请检查是否配置正确)

这时候回到1panel管理面板页面开始配置自动备份


卡壳了,最近忙着学习前端的知识一直没更新,先发一部分,剩下的后面补

26 个赞

感谢大佬教程

1 个赞

本来想写完了发的,这是我加入L站第一天就开始写的,但是一直都写不完

1 个赞

感谢教程,学习了,目前vaultwarden用起来确实很舒服。

1 个赞

先mark了

1 个赞

内网主机,域名解析不了,有别的办法么

1 个赞

没有公网的话就可以在家里面搭建的方法一样,你可以买个你找网上那些免费的内网穿透服务商拉起来

1 个赞

地板帮顶一下,虽然我觉得没有特别的保密需求用不上自建服务,官方的很好用也很安全了

我用的大善人的穿透

1 个赞

学习了 感谢

感谢大佬教程

这个网站是佬的吗
不是的话 佬的帖子被搬运了

1 个赞

笑死了,被搬了算了反正这教程我都没写完,一半都没写出来

把链接发给我看一下

你写到哪 他搬到哪 一模一样

我在搜教程 正好搜到了你的和他的

2 个赞

本来还想着以后有闲心更新的,不更了,烂尾算了,我要去问候那个站长了

1 个赞

佬,我想请教一下,我配置完成反代后无法进入bitwarden的页面,这个情况要怎么处理呀 :smiling_face_with_tear:
使用的是挂在cf上面的免费二级域名

感谢大佬分享

cf可以尝试

我没用cf我也不清楚