Docker实战:轻松部署linkding书签管理器!
- 1.1 linkding简介
- 1.2 linkding功能
- 1.3 linkding使用场景
- 2.1 本地环境规划
- 2.2 本次实践介绍
- 3.1 检查Docker服务状态
- 3.2 检查Docker版本
- 3.3 检查docker compose 版本
- 5.1 创建部署目录
- 5.2 编辑docker-compose.yaml文件
- 5.3 编辑.env文件
- 5.4 创建linkding容器
- 5.5 查看linkding容器状态
- 5.6 设置访问账号
- 6.1 进入linkding登录页
- 6.2 登录linkding首页
- 7.1 添加书签
- 7.2 打开书签
一、linkding介绍
1.1 linkding简介
linkding 是一个您可以自己托管的书签管理器。它的设计目标是最小化、快速且易于使用 Docker 设置。
1.2 linkding功能
- 干净的用户界面优化了可读性
- 用标签组织书签
- 使用 Markdown 添加注释
- 稍后阅读功能
- 与其他用户共享书签
- 批量编辑
- 自动提供已添加书签的网站的标题、描述和图标
- 自动创建Internet Archive Wayback Machine上添加书签的网站的快照
- 以 Netscape HTML 格式导入和导出书签
- Firefox和Chrome的扩展以及小书签
- 浅色和深色主题
- 用于开发第三方应用程序的 REST API
- 用于用户自助服务和原始数据访问的管理面板
- 使用 Docker 和 SQLite 数据库轻松设置,并可选择 PostgreSQL
1.3 linkding使用场景
- 个人书签管理:linkding可以帮助个人用户管理自己的书签,让用户可以随时随地访问到自己保存的网页链接。
- 团队协作:linkding可以作为团队共享和协作的工具,团队成员可以共享自己的书签,并在书签之间进行分类和标签,方便团队内部的知识共享和协作。
- 知识管理:linkding可以用来管理各种类型的链接,不仅限于网页链接,还可以管理文件链接、文档链接等,可以方便地将各种知识进行归档和整理。
- 私有书签管理:由于linkding可以自己托管在服务器上,所以可以确保书签的安全性和隐私性,适合那些对隐私有更高要求的用户。
二、本地环境介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为centos7.6。
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.在Docker环境下部署linkding书签管理器。
三、本地环境检查
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: active (running) since Fri 2024-03-01 00:18:43 CST; 52s ago Main PID: 11826 (dockerd) Tasks: 28 Memory: 155.4M CGroup: /system.slice/docker.service ├─11826 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
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
四、下载linkding镜像
在docker hub拉取linkding书签管理器镜像
docker pull nanawel/our-shopping-list
五、部署linkding应用
5.1 创建部署目录
新建目录/data/linkding/data
mkdir -p /data/linkding/data && cd /data/linkding/
5.2 编辑docker-compose.yaml文件
使用docker-cli方式部署,命令如下:
docker run --name linkding -p 9090:9090 -v /data/linkding/data:/etc/linkding/data -d sissbruecker/linkding:latest
本次实践部署使用docker compose方式,编辑的docker-compose.yaml文件。
version: '3' services: linkding: container_name: "${LD_CONTAINER_NAME:-linkding}" image: sissbruecker/linkding:latest ports: - "${LD_HOST_PORT:-9090}:9090" volumes: - "/data/linkding/data:/etc/linkding/data" env_file: - .env restart: unless-stopped
5.3 编辑.env文件
在部署目录下,编辑.env文件,内容如下:
# Docker container name LD_CONTAINER_NAME=linkding # Port on the host system that the application should be published on LD_HOST_PORT=9090 # Directory on the host system that should be mounted as data dir into the Docker container LD_HOST_DATA_DIR=./data # Can be used to run linkding under a context path, for example: linkding/ # Must end with a slash `/` LD_CONTEXT_PATH= # Username of the initial superuser to create, leave empty to not create one LD_SUPERUSER_NAME= # Password for the initial superuser, leave empty to disable credentials authentication and rely on proxy authentication instead LD_SUPERUSER_PASSWORD= # Option to disable background tasks LD_DISABLE_BACKGROUND_TASKS=False # Option to disable URL validation for bookmarks completely LD_DISABLE_URL_VALIDATION=False # Enables support for authentication proxies such as Authelia LD_ENABLE_AUTH_PROXY=False # Name of the request header that the auth proxy passes to the application to identify the user # See docs/Options.md for more details LD_AUTH_PROXY_USERNAME_HEADER= # The URL that linkding should redirect to after a logout, when using an auth proxy # See docs/Options.md for more details LD_AUTH_PROXY_LOGOUT_URL= # List of trusted origins from which to accept POST requests # See docs/Options.md for more details LD_CSRF_TRUSTED_ORIGINS= # Database settings # These are currently only required for configuring PostreSQL. # By default, linkding uses SQLite for which you don't need to configure anything. # Database engine, can be sqlite (default) or postgres LD_DB_ENGINE= # Database name (default: linkding) LD_DB_DATABASE= # Username to connect to the database server (default: linkding) LD_DB_USER= # Password to connect to the database server LD_DB_PASSWORD= # The hostname where the database is hosted (default: localhost) LD_DB_HOST= # Port use to connect to the database server # Should use the default port if not set LD_DB_PORT= # Any additional options to pass to the database (default: {}) LD_DB_OPTIONS=
5.4 创建linkding容器
执行
docker compose up -d
命令,创建linkding容器。
[root@jeven linkding]# docker compose up -d [+] Running 2/2 ⠿ Network linkding_default Created 0.1s ⠿ Container linkding Started 0.8s
5.5 查看linkding容器状态
检查linkding容器状态,确保linkding容器正常启动。
[root@jeven linkding]# docker compose ps NAME COMMAND SERVICE STATUS PORTS linkding "./bootstrap.sh" linkding running (healthy) 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp
5.6 设置访问账号
- 如果使用docker-cli方式部署,则使用以下命令设置登录账号及密码。
docker exec -it linkding python manage.py createsuperuser --username=joe --email=joe@example.com
使用docker compose方式,使用以下命令设置登录账号及密码。
docker compose exec linkding python manage.py createsuperuser --username=admin --email=joe@example.com
六、访问linkding首页
6.1 进入linkding登录页
访问地址:http://192.168.3.166:9090,将IP替换为自己服务器IP地址,进入进入our-shopping-list登录页,自定义注册账号和密码。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。
6.2 登录linkding首页
输入自己设置的登录账号和密码,进入linkding首页。
七、linkding的基本使用
7.1 添加书签
点击“Add bookmark”选项,新建书签。
填写书签网址、标题等信息,保存即可。
7.2 打开书签
在首页书签列表,点击书签,则可以打开书签内容。
八、总结
Linkding是一个可以自己托管的书签管理器,它的设计目标是提供最小化、快速且易于使用的Docker设置。Linkding可以快速部署在本地,并且具有美观简洁的界面,即使是新手也可以轻松上手。使用Linkding可以获得良好的使用体验,并且具有强大的功能。如果你需要一款书签工具,不妨试试使用Linkding。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
,