前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云原生家庭网络(十六):部署 homepage 家庭导航页

云原生家庭网络(十六):部署 homepage 家庭导航页

原创
作者头像
imroc
发布2024-05-29 11:47:52
1240
发布2024-05-29 11:47:52
举报

概述

随着路由器上部署的服务越来越多,记不住每个服务的页面地址,可以部署一个 homepage 并暴露 80 端口,进去后就是家里的服务导航页,可以快速跳转家里的各个服务的页面。

开源项目

目录结构

代码语言:txt
复制
homepage
├── config
│   ├── bookmarks.yaml
│   ├── services.yaml
│   ├── settings.yaml
│   └── widgets.yaml
├── daemonset.yaml
└── kustomization.yaml

准备 homepage 配置文件

config/bookmarks.yaml:

代码语言:yaml
复制
# https://gethomepage.dev/latest/configs/bookmarks/

config/settings.yaml:

代码语言:yaml
复制
# https://gethomepage.dev/latest/configs/settings/

providers:
  openweathermap: openweathermapapikey
  weatherapi: weatherapiapikey

config/widgets.yaml:

代码语言:yaml
复制
# https://gethomepage.dev/latest/widgets/

- resources:
    cpu: true
    memory: true
    disk: /

config/services.yaml:

代码语言:yaml
复制
# https://gethomepage.dev/latest/configs/services/

- 家庭主页:
    - Jellyfin:
        href: http://10.10.10.2:8096/
        description: 家庭影院
    - Grafana:
        href: http://10.10.10.2:3000/
        description: 监控面板
    - VictoriaMetrics:
        href: http://10.10.10.2:8428/
        description: 监控工具
    - AriaNg:
        href: http://10.10.10.2:6880/
        description: 离线下载
    - AList:
        href: http://10.10.10.2:5244/
        description: 云盘
    - HomeAssistant:
        href: http://10.10.10.2:8123/
        description: Home Assistant
    - Filebrowser:
        href: http://10.10.10.2:8567/
        description: 文件管理
  • services.yaml 是定义导航页列表的配置文件,可以根据自己家里的情况进行 DIY。

准备 daemonset.yaml

代码语言:yaml
复制
apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app: homepage
  name: homepage
  namespace: default
spec:
  selector:
    matchLabels:
      app: homepage
  template:
    metadata:
      labels:
        app: homepage
    spec:
      terminationGracePeriodSeconds: 1
      containers:
        - image: docker.io/imroc/homepage:v0.8.8
          imagePullPolicy: IfNotPresent
          name: homepage
          env:
            - name: PORT
              value: "80"
          volumeMounts:
            - mountPath: /app/config/services.yaml
              name: config
              subPath: services.yaml
            - mountPath: /app/config/settings.yaml
              name: config
              subPath: settings.yaml
            - mountPath: /app/config/widgets.yaml
              name: config
              subPath: widgets.yaml
            - mountPath: /app/config/bookmarks.yaml
              name: config
              subPath: bookmarks.yaml
      dnsPolicy: Default
      hostNetwork: true
      restartPolicy: Always
      volumes:
        - name: config
          configMap:
            name: homepage-config
  updateStrategy:
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 1
    type: RollingUpdate

准备 kustomization.yaml

代码语言:yaml
复制
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - daemonset.yaml

namespace: default

configMapGenerator:
  - name: homepage-config
    files:
      - config/services.yaml
      - config/settings.yaml
      - config/bookmarks.yaml
      - config/widgets.yaml

访问 Homepage

访问入口:http://`路由器内网 IP`

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 开源项目
  • 目录结构
  • 准备 homepage 配置文件
  • 准备 daemonset.yaml
  • 准备 kustomization.yaml
  • 访问 Homepage
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档