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
+41 -20
View File
@@ -1,6 +1,6 @@
services:
seaweedfs:
image: chrislusf/seaweedfs:latest
image: chrislusf/seaweedfs:4.41
container_name: seaweedfs
restart: unless-stopped
command: "server -s3 -s3.port=8333 -master.port=9333 -volume.port=8080 -filer -filer.port=8888 -dir=/data -s3.domainName=file.xiteng.site"
@@ -22,6 +22,7 @@ services:
- "traefik.http.routers.minio.entrypoints=websecure"
- "traefik.http.routers.minio.tls=true"
- "traefik.http.routers.minio.tls.certresolver=cfresolver"
- "traefik.http.routers.minio.service=minio"
- "traefik.http.routers.minio-http.rule=Host(`file.xiteng.site`)"
- "traefik.http.routers.minio-http.service=minio"
- "traefik.http.routers.minio-http.entrypoints=web"
@@ -33,25 +34,45 @@ services:
- "traefik.http.routers.minio.middlewares=minio-scheme,minio-auth"
- "traefik.http.routers.minio-http.middlewares=minio-scheme,minio-auth"
# --- Traefik: S3 API (8333) ---
- "traefik.http.routers.minio-api.rule=Host(`minio-api.xiteng.site`)"
- "traefik.http.services.minio-api.loadbalancer.server.port=8333"
- "traefik.http.routers.minio-api.entrypoints=websecure"
- "traefik.http.routers.minio-api.tls=true"
- "traefik.http.routers.minio-api.tls.certresolver=cfresolver"
- "traefik.http.routers.minio-api-http.rule=Host(`minio-api.xiteng.site`)"
- "traefik.http.routers.minio-api-http.service=minio-api"
- "traefik.http.routers.minio-api-http.entrypoints=web"
# --- Homepage ---
- "homepage.group=我的服务"
- "homepage.name=SeaweedFS"
- "homepage.icon=/icons/seaweedfs-local.png"
- "homepage.href=https://file.xiteng.site"
- "homepage.description=对象存储"
# --- AutoKuma ---
- "kuma.minio.http.name=SeaweedFS"
- "kuma.minio.http.url=http://seaweedfs:8888"
- "kuma.minio.http.interval=60"
- "kuma.minio.http.max_retries=3"
- "traefik.http.routers.s3.rule=Host(`s3.xiteng.site`)"
- "traefik.http.services.s3.loadbalancer.server.port=8333"
- "traefik.http.routers.s3.entrypoints=websecure"
- "traefik.http.routers.s3.tls=true"
- "traefik.http.routers.s3.tls.certresolver=cfresolver"
- "traefik.http.routers.s3-http.rule=Host(`s3.xiteng.site`)"
- "traefik.http.routers.s3-http.service=s3"
- "traefik.http.routers.s3-http.entrypoints=web"
- "xiteng.site.cache.seaweedfs-minio.enabled=true"
- "xiteng.site.cache.seaweedfs-minio.routers=minio,minio-http"
- "xiteng.site.cache.seaweedfs-minio.paths=/assets/,/static/,/ui/"
- "xiteng.site.cache.seaweedfs-minio.edge-ttl=604800"
- "xiteng.site.cache.seaweedfs-minio.stale-while-revalidate=86400"
# --- Xiteng Site dynamic catalog: one container, two public components ---
- "xiteng.site.component.seaweedfs.enabled=true"
- "xiteng.site.component.seaweedfs.name=SeaweedFS"
- "xiteng.site.component.seaweedfs.description=分布式文件、Filer Web 与对象存储核心。"
- "xiteng.site.component.seaweedfs.section=services"
- "xiteng.site.component.seaweedfs.category=存储"
- "xiteng.site.component.seaweedfs.url=https://file.xiteng.site"
- "xiteng.site.component.seaweedfs.access=sso"
- "xiteng.site.component.seaweedfs.access-label=需要 Authentik"
- "xiteng.site.component.seaweedfs.icon=SW"
- "xiteng.site.component.seaweedfs.accent=green"
- "xiteng.site.component.seaweedfs.order=500"
- "xiteng.site.component.seaweedfs.monitor.enabled=true"
- "xiteng.site.component.seaweedfs.monitor.url=http://seaweedfs:8888"
- "xiteng.site.component.s3-api.enabled=true"
- "xiteng.site.component.s3-api.name=SeaweedFS S3 API"
- "xiteng.site.component.s3-api.description=S3 兼容对象存储协议入口。"
- "xiteng.site.component.s3-api.section=services"
- "xiteng.site.component.s3-api.category=存储"
- "xiteng.site.component.s3-api.url=https://s3.xiteng.site"
- "xiteng.site.component.s3-api.endpoint=s3.xiteng.site:443"
- "xiteng.site.component.s3-api.access=access-key"
- "xiteng.site.component.s3-api.access-label=需要 Access Key"
- "xiteng.site.component.s3-api.icon=S3"
- "xiteng.site.component.s3-api.accent=blue"
- "xiteng.site.component.s3-api.order=510"
networks:
- homelab_net