前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >云原生之使用Docker部署homarr个人导航页

云原生之使用Docker部署homarr个人导航页

原创
作者头像
江湖有缘
修改于 2023-10-12 11:31:40
修改于 2023-10-12 11:31:40
2.3K0
举报
文章被收录于专栏:Linux成长之路Linux成长之路

一、homarr介绍

1.1 homarr简介

homarr可作为网站书签导航页工具,Homarr也是一个时尚、现代的仪表板,可让您的所有应用程序和服务触手可及。使用Homarr,您可以在一个方便的位置访问和控制所有内容。

1.2 homarr特点

  • 🖌️ 通过广泛的拖放网格系统高度可定制
  • ✨与您喜爱的自托管应用程序无缝集成
  • 📌简单快速的应用程序管理 - 不涉及 YAML
  • 🙊先进的机密管理系统,增强安全性
  • 📄详细的文档和活跃的社区
  • 🔍 立即搜索网络或支持的集成
  • 🏴使用内置状态系统监控您的应用程序
  • 🦞全面的内置图标选择器,包含 7000 多个图标
  • 🐳 使用 Docker、unRAID 和 Synology 轻松部署
  • 🚀与任何主要的消费类硬件(x86,树莓派,旧笔记本电脑等)兼容
  • 💵免费和开源 - 您的数据保留在您的设备上。没有遥测数据。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname

IP地址

操作系统版本

Docker版本

jeven

192.168.3.166

centos 7.6

20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎使用; 2.在Docker环境下成功部署homarr个人导航页。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

代码语言:shell
AI代码解释
复制
[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 Mon 2023-08-07 23:25:04 CST; 14h ago
     Docs: https://docs.docker.com
 Main PID: 11587 (dockerd)
    Tasks: 10
   Memory: 135.7M

3.2 检查Docker版本

检查Docker版本

代码语言:shell
AI代码解释
复制
[root@jeven ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:05:12 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:03:33 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.6
  GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc:
  Version:          1.1.2
  GitCommit:        v1.1.2-0-ga916309
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

代码语言:shell
AI代码解释
复制
[[root@jeven ~]# docker compose version
Docker Compose version v2.19.1

四、下载homarr镜像

在docker hub下载homarr镜像 ghcr.io/ajnart/homarr:latest 如果镜像拉取缓慢,可使用我仓库的swr.cn-north-4.myhuaweicloud.com/jeven/homarr:latest镜像。

代码语言:shell
AI代码解释
复制
[root@jeven ~]# docker pull ghcr.io/ajnart/homarr:latest
latest: Pulling from ajnart/homarr
31e352740f53: Already exists
11d56374b943: Pull complete
03c6b1d5f51e: Pull complete
d4fe5e85fcdf: Pull complete
0404ea77c3f1: Pull complete
901c3b6f9e06: Pull complete
d75131c3fd40: Pull complete
0b9d27af4cb0: Pull complete
ea9ea30b8736: Pull complete
b981932a56ab: Pull complete
Digest: sha256:441556ea9d52a12fc96811da73e832c3a477e3e4defd880dfe96bd32f1a7b520
Status: Downloaded newer image for ghcr.io/ajnart/homarr:latest
ghcr.io/ajnart/homarr:latest

五、部署homarr导航页

5.1 创建挂载目录

  • 创建挂载目录
代码语言:shell
AI代码解释
复制
mkdir -p /data/homarr/configs && mkdir -p /data/homarr/icons

5.2 创建homarr容器

使用docker run快速创建homarr容器

代码语言:shell
AI代码解释
复制
docker run  \
--name homarr \
--restart unless-stopped \
-p 7666:7575 \
-v /data/homarr/configs:/app/data/configs \
-v /data/homarr/icons:/app/public/icons \
-v /var/run/docker.sock:/var/run/docker.sock  \
-d ghcr.io/ajnart/homarr:latest
在这里插入图片描述
在这里插入图片描述

5.3 检查homarr容器状态

检查homarr容器运行状态

代码语言:shell
AI代码解释
复制
[root@jeven homarr]# docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS          PORTS                                       NAMES
f0dfb29fd905   ghcr.io/ajnart/homarr:latest   "docker-entrypoint.s…"   20 seconds ago   Up 19 seconds   0.0.0.0:7666->7575/tcp, :::7666->7575/tcp   homarr

5.4 检查容器运行日志

检查容器运行日志

代码语言:shell
AI代码解释
复制
[root@jeven homarr]# docker logs homarr
Listening on port 7575 url: http://f0dfb29fd905:7575

六、访问homarr首页

访问地址:http://192.168.3.166:7666 将IP地址改为自己服务器的IP地址。

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

七、homarr的基本使用

7.1 设置中文语言

在设置选项,选择语言为中文。

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

7.2 添加网址

进入编辑模式——添加apps,添加网址https://github.com/,添加完毕,可以正常打开自定义网址。

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

7.3 设置搜索引擎

在设置中,设置搜索网址为https://www.baidu.com/s?ie=UTF-8&wd=

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

7.4 修改天气

设置主页天气城市位置,选择北京,保存即可。

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

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
美团前端一面必会手写面试题汇总
输入字符串s,以及其重复的次数,输出重复的结果,例如输入abc,2,输出abcabc。
helloworld1024
2022/10/29
5180
社招前端一面经典手写面试题集锦
String.prototype.padStart 和 String.prototype.padEnd是ES8中新增的方法,允许将空字符串或其他字符串添加到原始字符串的开头或结尾。我们先看下使用语法:
helloworld1024
2022/09/17
4030
前端手写面试题合集
AJAX是 Asynchronous JavaScript and XML 的缩写,指的是通过 JavaScript 的 异步通信,从服务器获取 XML 文档从中提取数据,再更新当前网页的对应部分,而不用刷新整个网页。
helloworld1024
2022/12/14
5680
前端关于面试你可能需要收集的面试题1
在 Vue3.0 中通过 Proxy 来替换原本的 Object.defineProperty 来实现数据响应式。
loveX001
2022/12/20
4240
年底前端面试题总结(上)
HTTP1.0 中默认是在每次请求/应答,客户端和服务器都要新建一个连接,完成之后立即断开连接,这就是短连接。当使用Keep-Alive模式时,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接,这就是长连接。其使用方法如下:
loveX001
2022/10/11
8190
美团前端手写面试题总结
该方法的参数是 Promise 实例数组, 然后其 then 注册的回调方法是数组中的某一个 Promise 的状态变为 fulfilled 的时候就执行. 因为 Promise 的状态只能改变一次, 那么我们只需要把 Promise.race 中产生的 Promise 对象的 resolve 方法, 注入到数组中的每一个 Promise 实例中的回调函数中即可.
helloworld1024
2022/10/18
9850
分享10个面试题会经常出现的 JS 手写函数代码,你都会写吗?
英文 | https://medium.com/@cookbug/10-common-front-end-handwriting-functions-do-you-know-all-of-them-9deb1ffb922d
前端达人
2022/03/25
5060
高级前端必会手写面试题及答案1
下面来看一道比较典型的问题,通过这个问题来对比几种异步编程方法:红灯 3s 亮一次,绿灯 1s 亮一次,黄灯 2s 亮一次;如何让三个灯不断交替重复亮灯?
helloworld1024
2023/01/02
9460
滴滴前端一面经典手写面试题
一般来说,Promise.all 用来处理多个并发请求,也是为了页面数据构造的方便,将一个页面所用到的在不同接口的数据一起请求过来,不过,如果其中一个接口失败了,多个请求也就失败了,页面可能啥也出不来,这就看当前页面的耦合程度了
helloworld1024
2023/01/04
9420
前端高频手写面试题
then 方法返回一个新的 promise 实例,为了在 promise 状态发生变化时(resolve / reject 被调用时)再执行 then 里的函数,我们使用一个 callbacks 数组先把传给then的函数暂存起来,等状态改变时再调用。
helloworld1024
2022/12/16
1.1K0
前端js手写面试题汇总(二)
Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的proto。
helloworld1024
2022/11/16
5650
高级前端一面常考手写面试题指南
then 方法返回一个新的 promise 实例,为了在 promise 状态发生变化时(resolve / reject 被调用时)再执行 then 里的函数,我们使用一个 callbacks 数组先把传给then的函数暂存起来,等状态改变时再调用。
helloworld1024
2022/11/14
4430
前端手写面试题,看这一篇就够了
题目描述:有一组版本号如下 ['0.1.1', '2.3.3', '0.302.1', '4.2', '4.3.5', '4.3.4.5']。现在需要对其进行排序,排序的结果为 ['4.3.5','4.3.4.5','2.3.3','0.302.1','0.1.1']
helloworld1024
2022/11/14
3360
前端手写面试题合集
String.prototype.padStart 和 String.prototype.padEnd是ES8中新增的方法,允许将空字符串或其他字符串添加到原始字符串的开头或结尾。我们先看下使用语法:
helloworld1024
2022/12/07
3750
32个常考的手写面试题,值得动手练一练
https://juejin.cn/post/6963167124881670152
前端达人
2021/06/16
7980
前端js手写面试题汇总(一)
Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的proto。
helloworld1024
2022/11/16
6340
高级前端二面手写面试题(边面边更)1
(3)让函数的 this 指向这个对象,执行构造函数的代码(为这个新对象添加属性)
helloworld1024
2023/01/02
5200
一文总结JavaScript手写面试题
该方法的参数是 Promise 实例数组, 然后其 then 注册的回调方法是数组中的某一个 Promise 的状态变为 fulfilled 的时候就执行. 因为 Promise 的状态只能改变一次, 那么我们只需要把 Promise.race 中产生的 Promise 对象的 resolve 方法, 注入到数组中的每一个 Promise 实例中的回调函数中即可.
helloworld1024
2022/11/07
3780
编写高质量可维护的代码:异步优化
? 这是第 77 篇不掺水的原创,想要了解更多,请戳上方蓝色字体:政采云前端团队 关注我们吧~ 本文首发于政采云前端团队博客:编写高质量可维护的代码——异步优化 https://www.zoo.te
政采云前端团队
2020/11/20
4530
编写高质量可维护的代码:异步优化
Promise 串行调用面试题
最新看到一个比较有趣的面试题: 怎么串行执行 Promise ? 这里简单给大家介绍下解答。针对多个 Promise 方法,原生提供了 all 和 race 方法。但是,他们都不是串行执行。那应该如果
villainhr
2018/07/03
1.2K0
相关推荐
美团前端一面必会手写面试题汇总
更多 >
LV.6
腾讯云TDP高级后端开发工程师
目录
  • 一、homarr介绍
    • 1.1 homarr简介
    • 1.2 homarr特点
  • 二、本地环境介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、下载homarr镜像
  • 五、部署homarr导航页
    • 5.1 创建挂载目录
    • 5.2 创建homarr容器
    • 5.3 检查homarr容器状态
    • 5.4 检查容器运行日志
  • 六、访问homarr首页
  • 七、homarr的基本使用
    • 7.1 设置中文语言
    • 7.2 添加网址
    • 7.3 设置搜索引擎
    • 7.4 修改天气
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档