【Docker项目实战】使用Docker部署Servas自托管书签管理工具

简介: 【6月更文挑战第5天】使用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登录页

访问地址:http://192.168.3.166:8080/register,将IP替换为自己服务器IP地址,进入到Servas注册页,自定义注册账号和密码。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

6.2 访问Servas首页

注册账号完毕后,自动登录到Servas首页。

在这里插入图片描述

6.3 新增链接

点击新增分组

在这里插入图片描述

编辑组名。确认即可。

在这里插入图片描述

点击新增链接,编辑网址,书签名称,选择分组,确认即可。

在这里插入图片描述
在这里插入图片描述

6.4 打开链接

点击打开链接选项,进入收藏的网站。

在这里插入图片描述
在这里插入图片描述

七、总结

Servas是一个功能强大且用户友好的书签管理工具。它帮助我保持我的书签整洁有序,并且让我能够快速访问和搜索我需要的网页。如果你正在寻找一个简单而有效的书签管理工具,可以尝试使用Servas工具。

相关文章
|
1天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署RSS阅读器yarr
【6月更文挑战第22天】使用Docker部署RSS阅读器yarr
7 2
|
1天前
|
Docker 容器
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(二)
使用Docker部署的WPS Office服务可以通过内网穿透工具Cpolar实现远程访问。首先,创建一个名为“wps office”的隧道,选择HTTP协议和3000端口,分配免费的随机域名,并指定中国地区。然后,通过Cpolar的管理界面获取HTTP公网地址,用以远程访问WPS Office。由于随机域名会变化,可以升级Cpolar套餐并保留一个二级子域名,确保长期稳定的远程访问。配置子域名后,更新隧道设置,完成固定公网地址的绑定,从而实现随时随地通过固定地址访问WPS Office。
|
1天前
|
数据采集 JavaScript Go
蓝易云 - crawlab通过docker单节点部署简单爬虫
以上就是通过Docker单节点部署Crawlab并运行简单爬虫的步骤。在实际操作中,你需要根据自己的需求对爬虫代码进行编写。
5 2
|
1天前
|
安全 Linux 网络安全
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(一)
在群晖NAS上使用Docker部署WPS Office并结合Cpolar内网穿透的步骤包括: 1. 通过SSH命令行拉取`linuxserver/wps-office`镜像。 2. 在群晖容器管理界面运行镜像,设置启动选项和端口映射。 3. 本地访问群晖IP:3000端口以使用WPS Office。 4. 安装Cpolar套件,手动添加并安装到群晖,通过9200端口访问其Web管理界面。 5. 使用Cpolar配置内网穿透,实现远程访问WPS Office。 这一过程允许用户即使在没有公网IP的情况下,也能通过Cpolar将内网的WPS Office服务暴露到公网,便于远程办公和文档处理。
|
6天前
|
NoSQL 关系型数据库 Redis
Docker的通俗理解和通过宿主机端口访问Redis容器的实例
本文目标:引导初学者入门Docker,理解镜像、容器和宿主机概念,学习常用Docker命令,特别是如何创建并从Redis容器通过宿主机端口访问。 关键点: - Docker核心:镜像(类)、容器(实例)、宿主机(运行环境)。 - `docker pull` 拉取镜像,如 `redis:3.0`。 - `docker run -d --name` 后台运行容器,如 `my-redis`。 - `-p` 参数做端口映射,如 `6379:6379`。 - `docker exec -it` 交互式进入容器,如 `bash` 或执行命令。
|
3天前
|
前端开发 安全 数据库
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
|
17小时前
|
NoSQL Redis Docker
使用 Docker Compose 接管现有容器的文档
使用 Docker Compose 接管现有容器的文档
11 2
|
3天前
|
Cloud Native 安全 Docker
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
|
17小时前
|
存储 关系型数据库 MySQL
解读 MySQL 容器信息:`docker inspect` 字段详解
解读 MySQL 容器信息:`docker inspect` 字段详解
17 1
|
4天前
|
Linux Docker 容器
蓝易云 - net.ipv4.ip_forward=0导致docker容器无法与外部通信
完成以上步骤后,Docker容器应该能够正常与外部通信了。
9 2