
最近抽空把老苏常用的 YesPlayMusic 更新了一下,客户端版本升级到了 v0.4.5,API 版本升级到了 v4.8.2,有需要的可以升级一下
本文完成于
5月底
什么是 Servas ?
Servas是一个自托管的书签管理工具。基于Laravel和Inertia.js,并使用Tailwind CSS和Svelte作为前端。
特征
Servas。Servas 在您的所有设备上看起来都不错。
本次要安装的容器是基于 apache 的,如果安装完成后反复重启,并在日志中有下面的内容
Function not implemented: AH00141: Could not initialize random number generator
说明你的群晖内核版本太低
Your NAS is using a linux kernel < 3.16 and is missing some dependencies required by apache2 now.
这个问题在安装 NextCloud、Monica、MediaWiki 时都遇到过,这里不展开讲了。
官方提供了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
| 变量 | 值 |
|---|---|
APP_NAME | 应用的名称,用默认的 Servas 就好了 |
APP_ENV | 模式为 production |
APP_KEY | 相当于应用的密码 |
APP_DEBUG | false 表示关闭调试模式 |
APP_URL | 应用的访问地址 |
DB_CONNECTION | 数据库的类型 |
DB_HOST | 数据库的地址 |
DB_PORT | 数据库的端口 |
DB_DATABASE | 数据库的库名 |
DB_USERNAME | 数据库的用户 |
DB_PASSWORD | 数据库的密码 |

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

本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 |
|---|---|
5388 | 80 |

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

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

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

但老苏尝试从终端机进入会导致容器停止,不确定是不是我的机器出了什么问题,只能通过命令行或者 portainer 才能进入到容器内部
SSH 客户端的命令行中执行下面的命令# 进入容器
docker exec --user root -it servas /bin/bash
# 运行数据库迁移
php artisan migrate
# 生成应用程序密钥
php artisan key:generate

portainer 进入容器
# 运行数据库迁移
php artisan migrate
# 生成应用程序密钥
php artisan key:generate

如果你熟悉命令行,可能用 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


也可以用 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

然后执行下面的命令,在 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
在浏览器中输入 http://群晖IP:5388/register 注册新用户

如果你点
register没反应,可能是密码太简单了,但没有任何提示
注册成功后,会进入到主界面

使用比较简单,直接省略了
beromir/Servas: A self-hosted bookmark management tool.
地址:https://github.com/beromir/Servas