【Docker项目实战】使用Docker部署linkding书签管理器

简介: 【6月更文挑战第15天】使用Docker部署linkding书签管理器

一、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。

hostname IP地址 操作系统版本 Docker版本 linkding版本
jeven 192.168.3.166 centos 7.6 20.10.17 1.24.0

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
     Docs: https://docs.docker.com
 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。

相关文章
|
1月前
|
消息中间件 数据可视化 Kafka
docker arm架构部署kafka要点
本内容介绍了基于 Docker 的容器化解决方案,包含以下部分: 1. **Docker 容器管理**:通过 Portainer 可视化管理工具实现对主节点和代理节点的统一管理。 2. **Kafka 可视化工具**:部署 Kafka-UI 以图形化方式监控和管理 Kafka 集群,支持动态配置功能, 3. **Kafka 安装与配置**:基于 Bitnami Kafka 镜像,提供完整的 Kafka 集群配置示例,涵盖 KRaft 模式、性能调优参数及数据持久化设置,适用于高可用生产环境。 以上方案适合 ARM64 架构,为用户提供了一站式的容器化管理和消息队列解决方案。
|
2月前
|
Ubuntu 安全 Docker
Ubuntu下部署及操作Docker技巧
以上就是在Ubuntu下部署及操作Docker的具体步骤。但这只是冰山一角,Docker的魅力远不仅如此。你可以将其视为存放各种工具的小箱子,随时随地取用,极大地提升工作效率。你也可以私人订制,适应不同的开发环境,就像一个拥有各种口味冰淇淋的冰箱,满足各种各样的需求。好了,现在你已经掌握了基本的Docker运用技巧,快去尝试使用吧!记住,沉浸在探索中,你会找到无尽的乐趣和满满的收获。
148 23
|
3月前
|
安全 API 算法框架/工具
大模型文件Docker镜像化部署技术详解
大模型文件Docker镜像化部署技术详解
372 2
|
3月前
|
JSON 运维 Ubuntu
在Docker上部署Ollama+AnythingLLM完成本地LLM Agent部署
通过以上步骤,您可以成功在Docker上部署Ollama和AnythingLLM,实现本地LLM Agent的功能。在部署过程中,确保环境和配置正确,以避免不必要的问题。希望本文能够帮助您顺利完成部署,并在本地环境中高效地使用LLM模型。
1113 8
|
2月前
|
存储 SQL 关系型数据库
docker部署n9e开源版本7.4.0
n9e开源版本7.4.0
133 0
|
24天前
|
开发者 Docker 容器
获取Docker基础使用方法:让容器化变得轻松。
对于Docker的初学者来说,了解这些基础知识点就足够了。实践是最好的老师,越是动手操作,对Docker的理解会越深。祝阅读这篇文章的开发者们一切顺利,愿你在Docker的海洋中航行顺利!
77 17
|
1月前
|
关系型数据库 MySQL Docker
|
2月前
|
Ubuntu Linux Docker
Docker容器的实战讲解
这只是Docker的冰山一角,但是我希望这个简单的例子能帮助你理解Docker的基本概念和使用方法。Docker是一个强大的工具,它可以帮助你更有效地开发、部署和运行应用。
125 27
|
10天前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
|
5月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
497 93