diff --git a/servers/arcane-manager/README.md b/servers/arcane-manager/README.md new file mode 100644 index 0000000..89801e6 --- /dev/null +++ b/servers/arcane-manager/README.md @@ -0,0 +1,21 @@ +# Arcane Manager 本机项目 + +本目录保存 `192.168.50.45` 上 Arcane Local Docker Environment 的配置快照, +用于灾后重建和后续转为 Git Sync。当前生产 Project 仍由 Arcane 本地目录管理, +不要仅因 Git 提交就自动同步或重新部署。 + +| 项目 | 当前状态 | 说明 | +| --- | --- | --- | +| Homepage | 运行中 | LAN 导航首页,配置模板不含 widget 凭据 | +| Mihomo | 运行中 | LAN 代理;订阅地址必须由本地 `.env` 提供 | +| Gitea | 停止 | 迁移到 HK 后保留的回滚副本,不应与 HK Gitea 同时启动 | +| MeTube | 停止 | 保留配置,下载目录位于 TrueNAS | + +## 恢复原则 + +1. 从同项目的 `.env.example` 创建本地 `.env`,真实值不得提交 Git。 +2. 先核对 bind mount 路径、端口占用和外部网络,再由 Arcane 创建或接管 Project。 +3. Gitea 目录只备份 Compose;数据库和仓库数据仍需单独备份。 +4. Homepage 的 `services.yaml` 是无凭据导航模板。生产 widget 密钥和两个 VPS + 状态组件保留在本机配置中,不进入 Git。 +5. 默认关闭 Auto Sync、拉取镜像和自动重新部署,验收后再逐项启用。 diff --git a/servers/arcane-manager/gitea/README.md b/servers/arcane-manager/gitea/README.md new file mode 100644 index 0000000..72afc4b --- /dev/null +++ b/servers/arcane-manager/gitea/README.md @@ -0,0 +1,7 @@ +# Gitea 回滚副本 + +这是 `.45` 上停止保留的旧 Gitea 配置。生产 Gitea 已迁移到 +`https://gitea.kais.cloud`,不要同时启动两套服务。 + +Git 只保存 Compose,不保存 `./gitea` 中的数据库、仓库、密钥和会话数据。 +需要回滚时,应先停止 HK 实例、确认 DNS/SSH 切换方案,再恢复本机数据目录。 diff --git a/servers/arcane-manager/gitea/compose.yaml b/servers/arcane-manager/gitea/compose.yaml new file mode 100644 index 0000000..1421f29 --- /dev/null +++ b/servers/arcane-manager/gitea/compose.yaml @@ -0,0 +1,21 @@ +networks: + gitea: + external: false + +services: + server: + image: docker.gitea.com/gitea:latest + container_name: gitea + environment: + USER_UID: 1000 + USER_GID: 1000 + restart: always + networks: + - gitea + volumes: + - ./gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "3000:3000" + - "222:22" diff --git a/servers/arcane-manager/homepage/.env.example b/servers/arcane-manager/homepage/.env.example new file mode 100644 index 0000000..e97c94e --- /dev/null +++ b/servers/arcane-manager/homepage/.env.example @@ -0,0 +1 @@ +APP_CONFIG=/opt/arcane/arcane-data/projects/homepage/config diff --git a/servers/arcane-manager/homepage/compose.yaml b/servers/arcane-manager/homepage/compose.yaml new file mode 100644 index 0000000..0809d6a --- /dev/null +++ b/servers/arcane-manager/homepage/compose.yaml @@ -0,0 +1,14 @@ +services: + homepage: + image: ghcr.io/gethomepage/homepage:latest + container_name: homepage + environment: + HOMEPAGE_ALLOWED_HOSTS: 192.168.50.45:3001 + PUID: 1000 + PGID: 1000 + ports: + - "3001:3000" + volumes: + - ${APP_CONFIG}:/app/config + - /var/run/docker.sock:/var/run/docker.sock:ro + restart: unless-stopped diff --git a/servers/arcane-manager/homepage/config/services.yaml b/servers/arcane-manager/homepage/config/services.yaml new file mode 100644 index 0000000..453917b --- /dev/null +++ b/servers/arcane-manager/homepage/config/services.yaml @@ -0,0 +1,85 @@ +- 影音播放: + - Plex: + icon: plex.png + href: http://192.168.50.100:32400/web + description: unRaid 媒体库 + - Emby: + icon: emby.png + href: http://192.168.50.12:8096 + description: Emby 媒体库 + +- 影音管理: + - Radarr: + icon: radarr.png + href: http://192.168.50.10:7878 + description: 普通版电影 + - Sonarr: + icon: sonarr.png + href: http://192.168.50.10:8989 + description: 普通版剧集 + - Radarr 4K: + icon: radarr.png + href: http://192.168.50.46:7878 + description: 4K 电影 + - Sonarr 4K: + icon: sonarr.png + href: http://192.168.50.46:8989 + description: 4K 剧集 + - Seerr: + icon: seerr.png + href: http://192.168.50.46:5055 + description: 影音请求 + - Lidarr: + icon: lidarr.png + href: http://192.168.50.46:8686 + description: 音乐管理 + - Whisparr: + icon: whisparr.png + href: http://192.168.50.46:6969 + description: Whisparr + - NZBHydra2: + icon: nzbhydra2.png + href: http://192.168.50.46:5076 + description: Usenet 聚合检索 + +- 下载: + - SABnzbd: + icon: sabnzbd.png + href: http://192.168.50.100:8080 + description: unRaid Usenet 下载 + - qBittorrent: + icon: qbittorrent.png + href: http://192.168.50.100:7979 + description: unRaid BT 下载 + +- AI 与知识: + - Curator: + icon: mdi-bookshelf + href: http://192.168.50.145:8766 + description: 书影音管理中枢 + - Hindsight: + icon: mdi-memory + href: http://192.168.50.100:8888/docs + description: Agent 长期记忆 API + +- 基础设施: + - Arcane: + icon: arcane.png + href: http://192.168.50.45:3552 + description: Docker 机群控制面 + - Gitea: + icon: gitea.png + href: https://gitea.kais.cloud + description: HK Git 与 Arcane 配置仓库 + - Portainer: + icon: portainer.png + href: http://192.168.50.20:9000 + description: unRaid Docker 管理 + - TrueNAS: + icon: truenas.png + href: http://192.168.50.2 + description: TrueNAS 存储 + - unRaid: + icon: unraid.png + href: http://192.168.50.100 + description: unRaid 存储与服务 diff --git a/servers/arcane-manager/metube/.env.example b/servers/arcane-manager/metube/.env.example new file mode 100644 index 0000000..d40987d --- /dev/null +++ b/servers/arcane-manager/metube/.env.example @@ -0,0 +1,2 @@ +# 复制生产环境的 YTDL_OPTIONS,并确保其中的代理或认证信息不进入 Git。 +YTDL_OPTIONS={} diff --git a/servers/arcane-manager/metube/compose.yaml b/servers/arcane-manager/metube/compose.yaml new file mode 100644 index 0000000..4860d07 --- /dev/null +++ b/servers/arcane-manager/metube/compose.yaml @@ -0,0 +1,11 @@ +services: + metube: + image: ghcr.io/alexta69/metube + container_name: metube + restart: unless-stopped + ports: + - "8081:8081" + volumes: + - /mnt/truenas/multimedia/metube:/downloads + env_file: + - .env diff --git a/servers/arcane-manager/mihomo/.env.example b/servers/arcane-manager/mihomo/.env.example new file mode 100644 index 0000000..dd1588e --- /dev/null +++ b/servers/arcane-manager/mihomo/.env.example @@ -0,0 +1,2 @@ +# 填写真实配置地址;URL 可能包含访问令牌,禁止提交生产值。 +CLASH_CONFIG_URL=https://example.invalid/path/to/mihomo.yaml diff --git a/servers/arcane-manager/mihomo/compose.yaml b/servers/arcane-manager/mihomo/compose.yaml new file mode 100644 index 0000000..8dad063 --- /dev/null +++ b/servers/arcane-manager/mihomo/compose.yaml @@ -0,0 +1,11 @@ +services: + clash: + image: ghcr.io/cooper999/clash-autobuild:latest + container_name: clash + restart: always + ports: + - "7890:7890" + - "7894:7894" + - "9090:9090" + environment: + CLASH_CONFIG_URL: ${CLASH_CONFIG_URL}