feat: rebuild xiteng.site homelab platform

This commit is contained in:
2026-08-12 09:48:25 +08:00
parent 557b0eca33
commit 5b84988789
128 changed files with 14979 additions and 292 deletions
+37 -15
View File
@@ -1,19 +1,31 @@
services:
hedgedoc-db:
image: postgres:16-alpine
image: postgres:16-alpine@sha256:57c72fd2a128e416c7fcc499958864df5301e940bca0a56f58fddf30ffc07777
environment:
- POSTGRES_USER=$POSTGRES_USER
- POSTGRES_PASSWORD=$POSTGRES_PASSWORD
- POSTGRES_DB=$POSTGRES_DB
container_name: hedgedoc_db
restart: unless-stopped
labels:
- "xiteng.site.component.hedgedoc-db.enabled=true"
- "xiteng.site.component.hedgedoc-db.name=HedgeDoc PostgreSQL"
- "xiteng.site.component.hedgedoc-db.description=保存笔记、修订记录、会话与权限元数据。"
- "xiteng.site.component.hedgedoc-db.section=infrastructure"
- "xiteng.site.component.hedgedoc-db.category=数据层"
- "xiteng.site.component.hedgedoc-db.access=internal"
- "xiteng.site.component.hedgedoc-db.access-label=仅容器网络"
- "xiteng.site.component.hedgedoc-db.icon=PG"
- "xiteng.site.component.hedgedoc-db.icon-url=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/postgresql.svg"
- "xiteng.site.component.hedgedoc-db.accent=blue"
- "xiteng.site.component.hedgedoc-db.order=540"
volumes:
- ./data:/var/lib/postgresql/data
networks:
- homelab_net
hedgedoc:
image: quay.io/hedgedoc/hedgedoc:latest
image: quay.io/hedgedoc/hedgedoc:1.11.1
container_name: hedgedoc
restart: unless-stopped
environment:
@@ -40,6 +52,7 @@ services:
- CMD_OAUTH2_USER_PROFILE_EMAIL_ATTR=email
volumes:
- ./uploads:/hedgedoc/public/uploads
- ./custom/index-body.ejs:/hedgedoc/public/views/index/body.ejs:ro
depends_on:
- hedgedoc-db
ports:
@@ -62,19 +75,28 @@ services:
# --- 新增:开启 TLS 并指定解析器 ---
- "traefik.http.routers.hedgedoc.tls=true"
- "traefik.http.routers.hedgedoc.tls.certresolver=cfresolver"
# --- 2. Homepage 自动发现设置 ---
- "homepage.group=我的服务" # 分组名称
- "homepage.name=HedgeDoc" # 显示名称
- "homepage.icon=si-hedgedoc" # 图标 (支持 si, mdi 等前缀)
- "homepage.href=https://notes.xiteng.site" # 点击跳转的链接
- "homepage.description=实时 Markdown 协作" # 副标题描述
# --- 3. AutoKuma 自动发现设置 ---
# 格式: kuma.<自定义ID>.<监控类型>.<属性>
- "kuma.hedgedoc.http.name=HedgeDoc" # 监控项名称
- "kuma.hedgedoc.http.url=http://hedgedoc:3000" # 内网直连
# (可选) 每 60 秒检查一次,重试 3 次
- "kuma.hedgedoc.http.interval=60"
- "kuma.hedgedoc.http.max_retries=3"
- "xiteng.site.cache.hedgedoc.enabled=true"
- "xiteng.site.cache.hedgedoc.routers=hedgedoc,hedgedoc-http"
- "xiteng.site.cache.hedgedoc.paths=/assets/,/static/"
- "xiteng.site.cache.hedgedoc.edge-ttl=604800"
- "xiteng.site.cache.hedgedoc.stale-while-revalidate=86400"
# --- Xiteng Site dynamic catalog ---
- "xiteng.site.component.hedgedoc.enabled=true"
- "xiteng.site.component.hedgedoc.name=HedgeDoc"
- "xiteng.site.component.hedgedoc.description=实时 Markdown 协作、分享与技术笔记。"
- "xiteng.site.component.hedgedoc.section=services"
- "xiteng.site.component.hedgedoc.category=开发与协作"
- "xiteng.site.component.hedgedoc.url=https://notes.xiteng.site"
- "xiteng.site.component.hedgedoc.access=mixed"
- "xiteng.site.component.hedgedoc.access-label=公开入口 · 内容按笔记授权"
- "xiteng.site.component.hedgedoc.icon=HD"
- "xiteng.site.component.hedgedoc.icon-url=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/hedgedoc.svg"
- "xiteng.site.component.hedgedoc.accent=yellow"
- "xiteng.site.component.hedgedoc.order=110"
- "xiteng.site.component.hedgedoc.navigation=new-tab"
- "xiteng.site.component.hedgedoc.portal-link=native"
- "xiteng.site.component.hedgedoc.monitor.enabled=true"
- "xiteng.site.component.hedgedoc.monitor.url=http://hedgedoc:3000"
networks:
- homelab_net