• 书签管理工具Servas的安装


    在这里插入图片描述

    最近抽空把老苏常用的 YesPlayMusic 更新了一下,客户端版本升级到了 v0.4.5API 版本升级到了 v4.8.2,有需要的可以升级一下

    本文完成于 5 月底

    什么是 Servas ?

    Servas 是一个自托管的书签管理工具。基于 LaravelInertia.js,并使用 Tailwind CSSSvelte 作为前端。

    特征

    • **标签:**用标签组织你的书签。
    • **组:**对您的书签进行分组。组可以嵌套。
    • **稍后列表:**将书签添加到“稍后列表”以便以后访问它们。
    • **Chrome 浏览器扩展:**直接从您的浏览器将站点添加到 Servas
    • **多个用户:**您可以创建多个用户帐户。
    • 响应式设计: Servas 在您的所有设备上看起来都不错。
    • 提供两因素身份验证。

    在这里插入图片描述

    前言

    本次要安装的容器是基于 apache 的,如果安装完成后反复重启,并在日志中有下面的内容

    Function not implemented: AH00141: Could not initialize random number generator
    
    • 1

    说明你的群晖内核版本太低

    Your NAS is using a linux kernel < 3.16 and is missing some dependencies required by apache2 now.

    这个问题在安装 NextCloudMonicaMediaWiki 时都遇到过,这里不展开讲了。

    安装

    建数据库

    官方提供了docker-compose 安装方式,在这里能找到需要的文件:https://github.com/beromir/Servas/tree/main/docker

    需要另外安装 MariaDB 镜像,老苏还是准备用群晖已经自带的 MariaDB 数据库。

    在这里插入图片描述

    phpMyAdmin 中创建了名为 servas 的空数据库。

    安装镜像

    在群晖上以 Docker 方式安装。

    在注册表中搜索 servas ,选择第三个 beromir/servas,双击直接下载

    docker 文件夹中,创建一个新文件夹 servas

    需要将下面的内容保存为 .env 文件,并放入 servas 目录中

    可以先在本地保存为 env.txt 上传后再重命名为 .env

    APP_NAME=Servas
    APP_ENV=production
    APP_KEY=uGN294nJmwQN
    APP_DEBUG=false
    APP_URL=http://192.168.0.197:5388
    
    DB_CONNECTION=mysql
    DB_HOST=192.168.0.197
    DB_PORT=3307
    DB_DATABASE=servas
    DB_USERNAME=servas
    DB_PASSWORD=password
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    变量
    APP_NAME应用的名称,用默认的 Servas 就好了
    APP_ENV模式为 production
    APP_KEY相当于应用的密码
    APP_DEBUGfalse 表示关闭调试模式
    APP_URL应用的访问地址
    DB_CONNECTION数据库的类型
    DB_HOST数据库的地址
    DB_PORT数据库的端口
    DB_DATABASE数据库的库名
    DB_USERNAME数据库的用户
    DB_PASSWORD数据库的密码

    文件夹装载路径说明
    docker/servas/.env/var/www/html/.env环境设置文件

    端口

    本地端口不冲突就行,不确定的话可以用命令查一下

    # 查看端口占用
    netstat -tunlp | grep 端口号
    
    • 1
    • 2
    本地端口容器端口
    538880

    在这里插入图片描述

    常规

    名称命名为 servas,这是为了方便后面进入容器内做设置

    在这里插入图片描述

    设置

    完成上面设置后,容器就可以启动了

    但是先别急着打开网页,因为在启动前,还有设置需要完成,否则你只会看到错误

    但老苏尝试从终端机进入会导致容器停止,不确定是不是我的机器出了什么问题,只能通过命令行或者 portainer 才能进入到容器内部

    • SSH 客户端的命令行中执行下面的命令
    # 进入容器
    docker exec --user root -it servas /bin/bash
    
    # 运行数据库迁移
    php artisan migrate
    
    # 生成应用程序密钥
    php artisan key:generate
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    • portainer 进入容器

    # 运行数据库迁移
    php artisan migrate
    
    # 生成应用程序密钥
    php artisan key:generate
    
    • 1
    • 2
    • 3
    • 4
    • 5

    命令行安装

    如果你熟悉命令行,可能用 docker cli 更快捷

    # 新建文件夹 servas 和 子目录
    mkdir -p /volume1/docker/servas
    
    # 进入 servas 目录
    cd /volume1/docker/servas
    
    # 将 .env 文件放入当前目录
    
    # 运行容器
    docker run -d \
       --restart unless-stopped \
       --name servas \
       -p 5388:80 \
       -v $(pwd)/.env:/var/www/html/.env \
       beromir/servas
       
    # 运行数据库迁移
    docker exec -it servas php artisan migrate
    
    # 生成应用程序密钥
    docker exec -it servas php artisan key:generate
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    在这里插入图片描述

    也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

    version: "3"
    
    services:
      servas:
        image: beromir/servas
        container_name: servas
        restart: unless-stopped
        ports:
          - "5388:80"
        volumes:
          - ./.env:/var/www/html/.env
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    然后执行下面的命令,在 portainer 中执行也是可以的

    # 新建文件夹 servas 和 子目录
    mkdir -p /volume1/docker/servas
    
    # 进入目录
    cd /volume2/docker/servas
    
    # 将 .env 和 docker-compose.yml 放入当前目录
    
    # 一键启动
    docker-compose up -d
    
    # 运行数据库迁移
    docker exec -it servas php artisan migrate
    
    # 生成应用程序密钥
    docker exec -it servas php artisan key:generate
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    运行

    在浏览器中输入 http://群晖IP:5388/register 注册新用户

    如果你点 register 没反应,可能是密码太简单了,但没有任何提示

    注册成功后,会进入到主界面

    在这里插入图片描述

    使用比较简单,直接省略了

    参考文档

    beromir/Servas: A self-hosted bookmark management tool.
    地址:https://github.com/beromir/Servas

  • 相关阅读:
    将风险前置
    kotlin修饰符const的含义
    行列视(RCV)数据安全如何保障?
    flex布局相关总结&&实现元素框居中效果
    蒋鑫鸿:9.8国际黄金最新操作建议,白银原油最新走势分析
    牛客刷题<九>使用子模块实现三输入数的大小比较
    员工离职后,账号权限怎么自动化回收?
    Shell-基础(一):Shell解释器、Shell脚本
    探索arkui(2)--- 布局(列表)--- 2(支持分组/实现响应滚动位置)
    CSDN编程竞赛 ——— 第十期
  • 原文地址:https://blog.csdn.net/wbsu2004/article/details/127686056