【Docker项目实战】使用Docker部署Servas自托管书签管理工具
一、Servas介绍
1.1 Servas简介
Servas是一个自托管的书签管理工具,Servas可以帮助用户管理和组织他们的书签,并提供快速访问和搜索功能。用户可以将书签按照不同的分类或标签进行整理,以便更轻松地找到所需的网页。
1.2 Servas特点
- 标签:使用标签组织您的书签。
- 组:对书签进行分组。组可以嵌套。
- 稍后列表:将书签添加到“稍后列表”以便稍后访问。
- Chrome 浏览器扩展:直接从浏览器将网站添加到 Servas。
- 多个用户:您可以创建多个用户帐户。
- 响应式设计: Servas 在您的所有设备上看起来都不错。
- 可用两因素身份验证。
1.3 Servas使用场景
-
个人书签管理:Servas可以帮助个人管理大量的书签链接。用户可以通过添加、编辑和删除书签来组织自己的网页收藏夹。
-
团队协作:Servas可以用作团队共享的书签管理工具。团队成员可以共享重要的链接和资源,并在团队中进行分类和标记。
-
项目管理:Servas可以用于项目管理,团队成员可以为每个项目创建一个书签文件夹,并集中存储与项目相关的链接和资源。
-
知识管理:Servas可以作为知识管理工具,用户可以将重要的学习资源、研究论文和技术博客链接保存到书签中,并通过标签和分类来整理和检索。
-
教育资源管理:教育机构可以使用Servas来管理和共享教学资源,如教师课件、学生资料和教育网站链接。
二、本地环境介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为centos7.6。
hostname | IP地址 | 操作系统版本 | Docker版本 |
---|---|---|---|
jeven | 192.168.3.166 | centos 7.6 | 20.10.17 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Servas自托管书签管理工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: activating (start) since Tue 2024-02-06 14:02:01 CST; 26s ago
Docs: https://docs.docker.com
Main PID: 11739 (dockerd)
Tasks: 9
Memory: 109.4M
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0
四、下载Servas镜像
从docker hub拉取 Servast镜像
[root@jeven ~]# docker pull beromir/servas
Using default tag: latest
latest: Pulling from beromir/servas
661ff4d9561e: Pull complete
fbc99979baa6: Pull complete
47536423e079: Pull complete
1be6d4fc569f: Pull complete
0d66ed8a08e8: Pull complete
9c89438a3af7: Pull complete
730cf1adcf10: Pull complete
31ca37684946: Pull complete
ca6b724652f2: Pull complete
41f304472670: Pull complete
4f4fb700ef54: Pull complete
3ef387dafb35: Pull complete
9b1535911e99: Pull complete
26e19bbb3628: Pull complete
bceb37f3d176: Pull complete
11ef0791877f: Pull complete
d057f4264c6a: Pull complete
0e5cf963ea50: Pull complete
6c78db69080e: Pull complete
fc68c807fd1d: Pull complete
4133addbc541: Pull complete
Digest: sha256:5ad44c5bb655bca243785361a1d6d12bbc7e46790532f599c0a6b47a83f62e30
Status: Downloaded newer image for beromir/servas:latest
docker.io/beromir/servas:latest
五、部署Servas应用
5.1 创建部署目录
创建部署目录/data/Servas/
mkdir -p /data/Servas/ && cd /data/Servas/
5.2 编辑.env文件
编辑.env文件,修改APP_URL。
APP_NAME=Servas
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://192.168.3.166
SERVAS_ENABLE_REGISTRATION=true
# SQLite
DB_CONNECTION=sqlite
DB_DATABASE=/var/www/html/database/sqlite/servas.db
DB_FOREIGN_KEYS=true
5.3 编辑Servas部署文件
本次实践部署使用docker compose方式,编辑docker-compose.yaml部署文件。
version: "3"
services:
servas:
image: beromir/servas
container_name: servas
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./.env:/var/www/html/.env
- servas-db-sqlite:/var/www/html/database/sqlite
volumes:
servas-db-sqlite:
5.4 创建Servas容器
使用docker-compose.yaml文件创建Servas容器
[root@jeven Servas]# docker compose up -d
[+] Running 3/3
⠿ Network servas_default Created 0.1s
⠿ Volume "servas_servas-db-sqlite" Created 0.0s
⠿ Container servas Started 1.2s
5.5 生成应用程序密钥
执行以下命令,生成应用程序密钥。
docker exec -it servas php artisan key:generate --force
重启Servas容器
docker compose restart
5.6 检查Servas容器状态
检查Servas容器状态,确保Servas容器正常启动。
[root@jeven Servas]# docker compose ps
NAME COMMAND SERVICE STATUS PORTS
servas "/docker-entrypoint.…" servas running 0.0.0.0:8080->80/tcp, :::8080->80/tcp
5.7 检查Servas容器日志
检查Servas容器日志,确保Servas服务正常运行。
[root@jeven Servas]# docker compose logs
servas | Starting Migration...
servas |
servas | INFO Preparing database.
servas |
servas | Creating migration table .......................................... 5ms DONE
servas |
servas | INFO Loading stored database schemas.
servas |
servas | database/schema/sqlite-schema.dump ............................... 41ms DONE
servas |
servas | INFO Running migrations.
servas |
servas | 2022_08_11_143315_add_two_factor_confirmed_column_to_users_table .. 2ms DONE
servas | 2022_11_26_194415_remove_media_type_column_from_links_table ...... 26ms DONE
servas | 2023_03_19_203332_add_expires_at_column_to_personal_access_tokens_table 1ms DONE
servas | 2023_04_30_173655_drop_later_table ................................ 1ms DONE
servas |
servas | Creating caches...
servas |
servas | INFO Configuration cached successfully.
servas |
servas |
servas | INFO Blade templates cached successfully.
servas |
servas | [20-Feb-2024 06:41:12] NOTICE: fpm is running, pid 20
servas | [20-Feb-2024 06:41:12] NOTICE: ready to handle connections
六、访问Servas首页
6.1 进入Servas登录页
6.2 访问Servas首页
注册账号完毕后,自动登录到Servas首页。
6.3 新增链接
点击新增分组
编辑组名。确认即可。
点击新增链接,编辑网址,书签名称,选择分组,确认即可。
6.4 打开链接
点击打开链接选项,进入收藏的网站。
七、总结
Servas是一个功能强大且用户友好的书签管理工具。它帮助我保持我的书签整洁有序,并且让我能够快速访问和搜索我需要的网页。如果你正在寻找一个简单而有效的书签管理工具,可以尝试使用Servas工具。
- 点赞
- 收藏
- 关注作者
评论(0)