merge: pull origin/main, resolve 4 conflicts (gitignore/AGENTS.md/daemon.json/it-tools)

This commit is contained in:
cnphpbb
2026-06-15 08:36:05 +08:00
47 changed files with 1104 additions and 25 deletions

5
.gitignore vendored
View File

@@ -1,7 +1,12 @@
# Docker相关 # Docker相关
.env .env
*.env
*.env.* *.env.*
docker-compose.override.yml docker-compose.override.yml
# 例外env 模板(不视为敏感配置)允许提交
!**/*.env.example
!**/*.env.cfg.example
!**/env.cfg.example
# 开发环境 # 开发环境
.idea/ .idea/

View File

@@ -7,7 +7,7 @@
``` ```
<service>/ <service>/
├── stack.yml / compose.yml / <env>.stack.yml / <env>.yml # Docker Compose 文件 ├── stack.yml / compose.yml / <env>.stack.yml / <env>.yml # Docker Compose 文件
├── env.cfg # 环境变量(含敏感信息,应 gitignore ├── env.cfg.example # 环境变量(含敏感信息,应 gitignore
├── readme.md # 服务说明文档(可选) ├── readme.md # 服务说明文档(可选)
└── config/ # 服务配置文件(可选) └── config/ # 服务配置文件(可选)
``` ```
@@ -232,6 +232,47 @@ git push origin main
仓库早期 commit 有少量非 Conventional 风格(如 `Add lsd config and color theme` 仓库早期 commit 有少量非 Conventional 风格(如 `Add lsd config and color theme`
**新增 commit 一律遵循本规范**,历史风格不强制改写。 **新增 commit 一律遵循本规范**,历史风格不强制改写。
### AI 生成 commit message 的硬约束
当 AI 助手(或 IDE agent被要求生成 commit message 时,**只输出 commit text 本身**,严禁夹带任何元评论、解释或代码块包裹。
**输出黑名单(出现即视为违规):**
- 前置说明:`我看了你的改动…``建议使用下面的 commit message``以下为 commit`
- 元评论词汇:`分析``考虑``由于``因为``建议``注意``这里``本次``因为需要`
- 复述 diff`git diff` 的关键行直接放进 commit
- 解释"为什么改"commit 只描述"改了什么",不写动机
- 多版本候选/对比:不要 `Option 1 / Option 2``---begin--- / ---end---`
- markdown 代码块包裹:直接给纯文本,除非用户明确要求
**输出前自检清单:**
- [ ] 只包含 commit text无任何前后缀
- [ ] subject ≤ 50 字符、无句末标点、动词开头、首字母小写
- [ ] type 在 `{feat, fix, docs, refactor, perf, build, chore, style, test}`
- [ ] scope 准确(服务名小写或顶层目录名)
- [ ] body 每行 ≤ 72 字符、不重复 subject
- [ ] 中英文不混用、保持与项目历史一致
- [ ] 未泄露 `password|secret|token|key` 等敏感词
**正确示例:**
```
feat(gitea): bump image to 1.25.2
```
**错误示例AI 常见错误):**
```
我看了你的改动,主要是更新了镜像版本,建议使用:
feat(gitea): bump image to 1.25.2
这次改动把版本从 1.24 升到 1.25.2,主要修复了…
```
> **注意**thinking 块属于模型内部推理,**无法在 commit 场景关闭**,但它对最终 commit 输出无污染。用户的关注点应放在"最终输出是否干净"。
## AGENTS.md 维护规则 ## AGENTS.md 维护规则
AGENTS.md 是给 AI 助手Claude Code、Codex、Hermes 等)和协作者阅读的项目宪法。 AGENTS.md 是给 AI 助手Claude Code、Codex、Hermes 等)和协作者阅读的项目宪法。

View File

@@ -0,0 +1,22 @@
# ============================================================
# VaultWarden 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p VaultWarden --env-file ./env.cfg -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填env.cfg 不提交)
# ============================================================
IMAGE_TAG_VER=1.36.0-alpine
IMAGE_TAG=vaultwarden/server:${IMAGE_TAG_VER}
Volumes_Path=/data/volumes/VaultWarden
Domain=https://passd.6t7.net
ADMIN_TOKEN=<your-token>

View File

@@ -0,0 +1,22 @@
# ============================================================
# wg-easy 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p wg-easy --env-file ./env.cfg -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填env.cfg 不提交)
# ============================================================
IMAGE_TAG_VER=15.2.2
IMAGE_TAG=hub.6t7.net/base/wg-easy:${IMAGE_TAG_VER}
Volumes_Path=/data/volumes/wg-easy
WG_HOST=man.tp229.com
WG_PASSWORD="<your-strong-password>"

15
adminer/env.cfg.example Normal file
View File

@@ -0,0 +1,15 @@
# ============================================================
# adminer 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p adminer --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG_VER=5.4.2
IMAGE_TAG=adminer:${IMAGE_TAG_VER}
Volumes_Path=/data/volumes/adminer

14
alist/env.cfg.example Normal file
View File

@@ -0,0 +1,14 @@
# ============================================================
# alist 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 视情况填入真实值
# docker compose -p alist --env-file ./alist/env.cfg -f ./alist/compose.yml up -d
#
IMAGE_TAG=xhofe/alist:v3.32.0-ffmpeg
DATA_PATH=/data/volumes/alist/data
LOCALFS_PATH=/data/volumes/alist/localFS

View File

@@ -1,3 +0,0 @@
IMAGE_TAG=xhofe/alist:v3.32.0-ffmpeg
DATA_PATH=/data/volumes/alist/data
LOCALFS_PATH=/data/volumes/alist/localFS

11
ansible/env.cfg.example Normal file
View File

@@ -0,0 +1,11 @@
# ============================================================
# ansible 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p ansible --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG=hub.tp229.com:3500/ansible-alpine:py3.13-rootless

13
base/env.cfg.example Normal file
View File

@@ -0,0 +1,13 @@
# ============================================================
# base 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p base --env-file ./env.cfg -f ./stack.yml up -d
#
Cadvisor_Tag_Ver=v0.53.0
Cadvisor_Image=hub.6t7.net/base/cadvisor:${Cadvisor_Tag_Ver}

View File

@@ -0,0 +1,11 @@
# ============================================================
# alpine 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p alpine --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG=alpine:3

View File

@@ -0,0 +1,11 @@
# ============================================================
# debian 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p debian --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG=debian:13

View File

@@ -0,0 +1,15 @@
# ============================================================
# golang 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p golang --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG_BASH=golang:1.25.0-trixie
IMAGE_TAG_ASH=golang:1.25.0-alpine
Volumes_Path=/data/volumes

View File

@@ -0,0 +1,15 @@
# ============================================================
# nodejs 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p nodejs --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG_BASH=node:22.18.0-bookworm
IMAGE_TAG_ASH=node:22.18.0-alpine
Volumes_Path=/data/volumes

View File

@@ -0,0 +1,22 @@
# ============================================================
# couchdb 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p couchdb --env-file ./env.cfg -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填env.cfg 不提交)
# ============================================================
IMAGE_TAG=couchdb:3.5
COUCHDB_PORT=5984
COUCHDB_USER=your_custom_user
COUCHDB_PASSWORD=<your-db-password>
Volumes_Path=/data/volumes/couchdb

View File

@@ -0,0 +1,13 @@
# ============================================================
# loki 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p loki --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG=3.6.2
IMAGE_NAME=grafana/loki:${IMAGE_TAG}

View File

@@ -0,0 +1,24 @@
# ============================================================
# mysql 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p mysql --env-file ./env.cfg -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填env.cfg 不提交)
# ============================================================
# 密码为生成的密码,请使用时修改后再部署
IMAGE_TAG=mysql:8.4.8
IMAGE_TAG_V9=mysql:9.6.0
IMAGE_TAG_V8=mysql:8.0.45
IMAGE_TAG_LTS=mysql:8.4.8
MYSQL_ROOT_PASSWORD=<your-strong-password>

View File

@@ -0,0 +1,30 @@
# ============================================================
# postgres 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p postgres --env-file ./env.cfg -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填env.cfg 不提交)
# ============================================================
# 密码为生成的密码,请使用时修改后再部署
#IMAGE_TAG=postgres:14.11-bookworm
#IMAGE_TAG=postgres:15.6-bookworm
IMAGE_TAG=postgres:16.10
IMAGE_TAG_V17=postgres:17.6
IMAGE_TAG_V18=postgres:18.0
IMAGE_TAG_V15=postgres:15.14
POSTGRES_PASSWORD=<your-strong-password>
POSTGRES_HOST_AUTH_METHOD=scram-sha-256

View File

@@ -0,0 +1,26 @@
# ============================================================
# redis 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p redis --env-file ./env.cfg -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填env.cfg 不提交)
# ============================================================
IMAGE_TAG_REDISV6=redis:6.2.21-alpine
IMAGE_TAG_REDISV7=redis:7.4.7-alpine
IMAGE_TAG_REDISV8=redis:8.4.0-alpine
IMAGE_TAG_VALKEY_Latest=valkey/valkey:9.0.0
IMAGE_TAG_VALKEY_V8=valkey/valkey:8.1.5
Volumes_Path=/data/volumes/redis
REDIS_PASSWORD=<your-strong-password>

View File

@@ -0,0 +1,15 @@
# ============================================================
# domain-admin 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p domain-admin --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG_VER=v1.6.73
IMAGE_TAG=mouday/domain-admin:${IMAGE_TAG_VER}
Volumes_Path=/data/volumes/domain-admin

13
drawnix/env.cfg.example Normal file
View File

@@ -0,0 +1,13 @@
# ============================================================
# drawnix 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p drawnix --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG_VER=v0.3.0
IMAGE_TAG=pubuzhixing/drawnix:${IMAGE_TAG_VER}

23
dufs/env.cfg.example Normal file
View File

@@ -0,0 +1,23 @@
# ============================================================
# Dufs 部署 — 公共环境变量
# 复制为 env.cfg 后填入真实值env.cfg 已在 .gitignore 中忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# docker compose -p dufs --env-file ./env.cfg -f ./stack.yml up -d
# ---------- 镜像 ----------
# Dufs 版本号
IMAGE_TAG_VER=v0.46.0
# 完整镜像引用
IMAGE_TAG=sigoden/dufs:${IMAGE_TAG_VER}
# ---------- 数据卷 ----------
# 宿主机持久化目录(存放服务文件数据)
# 部署前手动创建mkdir -pv /data/volumes/dufs
Volumes_Path=/data/volumes/dufs
# ---------- 配置路径 ----------
# 宿主机配置文件/脚本目录
Config_Path=/data/mygit/config

View File

@@ -1,23 +1,26 @@
{ {
"registry-mirrors": [ "storage-driver": "overlay2",
"https://docker.1ms.run",
"https://docker.m.daocloud.io",
"https://docker.1panel.live",
"https://hub.rat.dev",
"https://docker.1panel.dev",
"https://docker.anye.in",
"https://docker.amingg.com",
"https://docker.367231.xyz",
"https://dockerproxy.net"
],
"data-root": "/data/docker", "data-root": "/data/docker",
"log-driver": "json-file", "log-driver": "json-file",
"log-opts": { "log-opts": {
"max-size": "10m", "max-size": "10m",
"max-file": "3" "max-file": "3"
}, },
"min-api-version": "1.24", "default-ulimits": {
"insecure-registries": [ "nofile": {
"hub.tp229.com:3500" "Name": "nofile",
] "Hard": 65535,
"Soft": 65535
}
},
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1ms.run",
"https://docker.1panel.dev",
"https://docker.367231.xyz",
"https://dockerproxy.net",
"https://hub.rat.dev"
],
"insecure-registries": ["hub.tp229.com:3500"],
"bip": "172.18.0.1/16"
} }

18
flame/env.cfg.example Normal file
View File

@@ -0,0 +1,18 @@
# ============================================================
# flame 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p flame --env-file ./env.cfg -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填env.cfg 不提交)
# ============================================================
IMAGE_TAG=pawelmalak/flame:multiarch2.3.1
Volumes_Path=/data/volumes/flame
PASSWORD="<your-strong-password>"

30
gitea/env.cfg.example Normal file
View File

@@ -0,0 +1,30 @@
# ============================================================
# Gitea 部署 — 公共环境变量
# 复制为 env.cfg 后填入真实值env.cfg 已在 .gitignore 中忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# docker compose -p gitea --env-file ./env.cfg -f ./lky-prod.yml up -d
#
# 数据库等敏感配置在容器 /etc/gitea/app.ini 中配置(挂载自 config/ 目录)
# ---------- 镜像 ----------
# Gitea 版本号rootless 镜像带 -rootless 后缀)
IMAGE_TAG_VER=1.26.2-rootless
# 完整镜像引用私有仓库示例hub.tp229.com:3500/gitea/gitea:${IMAGE_TAG_VER}
IMAGE_TAG=gitea/gitea:${IMAGE_TAG_VER}
# ---------- 数据卷 ----------
# 宿主机持久化目录
# 部署前手动创建并授权:
# mkdir -pv /data/volumes/gitea/{data,config}
# chown -R 1000:1000 /data/volumes/gitea/{data,config} # rootless 镜像必须
Volumes_Path=/data/volumes/gitea
# ---------- SSH 端口 ----------
# 容器内 SSH 端口固定 2222按部署主机二选一
# LAY_SSH_HOST_PORT —— 宿主 22 空闲的机器lky-prod.yml 引用)
# SSH_HOST_PORT —— 宿主 22 被占用的机器rpi-prod.yml 引用,如树莓派)
LAY_SSH_HOST_PORT=22
SSH_HOST_PORT=2222

128
goofish/.env.example Normal file
View File

@@ -0,0 +1,128 @@
# ============================================================
# goofish 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 .env 后填入真实值,.env 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp .env.example .env
# $EDITOR .env # 填入真实密码/密钥后保存
# docker compose -p goofish --env-file ./.env -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值(必填,.env 不提交)
# ============================================================
# --- AI 模型相关配置 ---
# 模型的API Key。
OPENAI_API_KEY="<your-api-key>"
# 模型的API接口地址。这里需要填写服务商提供的、兼容OpenAI格式的API地址基本所有模型都有提供OpenAI格式兼容的接口
# 可查阅你使用的大模型API文档如格式为 https://xx.xx.com/v1/chat/completions 则OPENAI_BASE_URL只需要填入前半段 https://xx.xx.com/v1/
OPENAI_BASE_URL="https://api.siliconflow.cn/v1/chat/completions"
# 使用的模型名称,模型需要支持图片上传。
OPENAI_MODEL_NAME="zai-org/GLM-4.5V"
# (可选) 为AI请求配置HTTP/S代理。支持 http 和 socks5。例如: http://127.0.0.1:7890 或 socks5://127.0.0.1:1080
PROXY_URL=""
# ntfy 通知服务配置
NTFY_TOPIC_URL="https://ntfy.sh/your-topic-name" # 替换为你的 ntfy 主题 URL
# (可选) Gotify 通知服务配置
GOTIFY_URL="" # 你的 Gotify 服务地址, 例如: https://push.example.de
GOTIFY_TOKEN="<your-token>" # 你的 Gotify 应用的 Token
# (可选) Bark 通知服务配置
BARK_URL="" # 你的 Bark 推送地址, 例如: https://api.day.app/your_key
# 企业微信机器人通知配置 如果无则不用配置
WX_BOT_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxx"
# (可选) 通用 Webhook 通知配置
WEBHOOK_URL="" # 你的 Webhook URL, 例如: https://foo.bar.com/quz?a=b
WEBHOOK_METHOD="POST" # 请求方法: "GET" 或 "POST"
WEBHOOK_HEADERS='{"X-API-TOKEN":"your-secret-token"}' # 自定义请求头 (JSON格式)
WEBHOOK_CONTENT_TYPE="JSON" # POST请求内容类型: "JSON" 或 "FORM"
WEBHOOK_QUERY_PARAMETERS='{"title":"{{title}}","content":"{{content}}"}' # GET请求的查询参数 (JSON格式, 支持 {{title}}, {{content}} 占位符)
WEBHOOK_BODY='{"title":"{{title}}","content":"{{content}}"}' # POST请求的请求体 (JSON格式, 支持 {{title}}, {{content}} 占位符)
# 是否使用edge浏览器 默认使用chrome浏览器
LOGIN_IS_EDGE=false
# 是否开启电脑链接转换为手机链接
PCURL_TO_MOBILE=true
# 爬虫是否以无头模式运行 (true/false)。
# 本地运行时遇到滑动验证码时,可设为 false 手动进行滑动验证,如果出现风控建议停止运行。
# 使用docker部署不支持GUI设置 RUN_HEADLESS=true 否则无法运行。
RUN_HEADLESS=true
# (可选) AI调试模式 (true/false)。开启后会在控制台打印更多用于排查AI分析问题的日志。
AI_DEBUG_MODE=false
# 是否启用enable_thinking参数 (true/false)。某些AI模型需要此参数而有些则不支持。
ENABLE_THINKING=false
# 服务端口自定义 不配置默认8000
SERVER_PORT=8000
# Web服务认证配置
WEB_USERNAME=cnphpbb
WEB_PASSWORD=<your-strong-password>

13
grafana/env.cfg.example Normal file
View File

@@ -0,0 +1,13 @@
# ============================================================
# grafana 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p grafana --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG_VER=12.2.0
IMAGE_TAG=grafana/grafana:${IMAGE_TAG_VER}

23
haproxy/env.cfg.example Normal file
View File

@@ -0,0 +1,23 @@
# ============================================================
# haproxy 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p haproxy --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG_VER=3.3.0
IMAGE_TAG_DEV=3.4-dev
IMAGE_TAG=haproxy:${IMAGE_TAG_VER}
Volumes_Path=/data/configs/haproxy
REDIS_PORT=6379
MYSQL_TEST_PORT=3306
MYSQL_DEV_PORT=3308

View File

@@ -0,0 +1,13 @@
# ============================================================
# hub-registry 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p hub-registry --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG=hub.tp229.com:3500/registry:3.0
UI_IMAGE_TAG=hub.tp229.com:3500/cnphpbb/registry-ui:latest

View File

@@ -1,4 +1,4 @@
# run:: docker compose -p memos --env-file ./it-tools/env.cfg -f ./it-tools/compose.yml up -d # run:: docker compose -p it-tools --env-file ./it-tools/env.cfg -f ./it-tools/compose.yml up -d
services: services:

11
it-tools/env.cfg.example Normal file
View File

@@ -0,0 +1,11 @@
# ============================================================
# it-tools 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p it-tools --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG=hub.6t7.net/cnphpbb/it-tools:20241022

59
it-tools/readme.md Normal file
View File

@@ -0,0 +1,59 @@
# IT Tools 部署栈
[IT Tools](https://github.com/CorentinTh/it-tools) 是一个面向开发者的在线工具集合,提供编码、转换、格式化、加密等多种实用功能。基于 Vue + TypeScript 构建,拥有良好的交互体验。
## 目录结构
| 文件 | 说明 |
|------|------|
| `compose.yml` | Docker Compose 部署配置 |
| `env.cfg` | 环境变量(镜像版本,已 gitignore |
| `env.cfg.example` | 环境变量模板 |
## 部署命令
```bash
# 拉取镜像
docker compose -p it-tools --env-file ./it-tools/env.cfg -f ./it-tools/compose.yml pull
# 部署
docker compose -p it-tools --env-file ./it-tools/env.cfg -f ./it-tools/compose.yml up -d
```
## 环境变量
| 变量 | 说明 | 示例 |
|------|------|------|
| `IMAGE_TAG` | 完整镜像标签 | `hub.6t7.net/cnphpbb/it-tools:20241022` |
## 服务端口
| 宿主机 | 容器 |
|--------|------|
| `8380` | `80` |
## Docker 构建说明
上游仓库包含 `Dockerfile`支持多阶段构建node 构建 → nginx 运行):
```bash
git clone https://github.com/CorentinTh/it-tools.git
cd it-tools
# 构建镜像
docker buildx build --platform linux/amd64 -t hub.6t7.net/cnphpbb/it-tools:<tag> .
# 推送到仓库
docker push hub.6t7.net/cnphpbb/it-tools:<tag>
```
构建依赖:
- 构建阶段:`node:lts-alpine` + `pnpm`,执行 `pnpm build` 生成静态文件
- 运行阶段:`nginx:stable-alpine`,提供 `nginx.conf` 自定义配置
- 环境变量:`NPM_CONFIG_LOGLEVEL=warn``CI=true`
- 上游 Dockerfile 参考:[Dockerfile](https://github.com/CorentinTh/it-tools/blob/main/Dockerfile)
## 相关链接
- GitHub: <https://github.com/CorentinTh/it-tools>
- 在线体验: <https://it-tools.tech>

View File

@@ -0,0 +1,32 @@
# ============================================================
# joplin 部署 — amd64 专用环境变量模板(不含敏感信息)
# 复制为 amd.env.cfg 后填入真实值amd.env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp amd.env.cfg.example amd.env.cfg
# $EDITOR amd.env.cfg # 填入真实密码后保存
# docker compose -p joplin --env-file ./joplin/amd.env.cfg -f ./joplin/compose.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填amd.env.cfg 不提交)
# ============================================================
IMAGE_TAG=joplin/server:3.6.1
# only amd64
#IMAGE_TAG=joplin/server:2.14.2-beta
## 实际部署时需要考虑APP_BASE_URL变量值
APP_BASE_URL=https://joplin.6t7.net
POSTGRES_USER=postgres
POSTGRES_PASSWORD=<your-strong-password>
POSTGRES_DATABASE=joplin-db
POSTGRES_PORT=5432
POSTGRES_HOST=10.0.74.3

36
joplin/env.cfg.example Normal file
View File

@@ -0,0 +1,36 @@
# ============================================================
# joplin 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p joplin --env-file ./env.cfg -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填env.cfg 不提交)
# ============================================================
#IMAGE_TAG=etechonomy/joplin-server:2.14.2
#IMAGE_TAG=florider89/joplin-server:2.14.2
IMAGE_TAG=joplin/server:3.6.1
# only amd64
#IMAGE_TAG=joplin/server:2.14.2-beta
## 实际部署时需要考虑APP_BASE_URL变量值
APP_BASE_URL=http://192.168.100.184:22300
POSTGRES_USER=postgres
POSTGRES_PASSWORD=<your-strong-password>
POSTGRES_DATABASE=joplin-db
POSTGRES_PORT=5432
POSTGRES_HOST=192.168.100.184

20
memos/env.cfg.example Normal file
View File

@@ -0,0 +1,20 @@
# ============================================================
# Memos 部署 — 公共环境变量
# 复制为 env.cfg 后填入真实值env.cfg 已在 .gitignore 中忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# # 数据库相关变量在 db-<env>.cnf 中独立配置(参考 db-184.cnf
# docker compose -p memos --env-file ./env.cfg --env-file ./db-61.cnf -f ./prod.stack.yml up -d
# ---------- 镜像 ----------
# Memos 版本号
IMAGE_TAG_VER=0.29.1
# 完整镜像引用私有仓库示例hub.tp229.com:3500/neosmemo/memos:${IMAGE_TAG_VER}
IMAGE_TAG=neosmemo/memos:${IMAGE_TAG_VER}
# ---------- 数据卷 ----------
# 宿主机持久化目录,会挂载到容器 /var/opt/memos
# 部署前手动创建mkdir -pv /data/volumes/memos/data
Volumes_Path=/data/volumes/memos

13
mynat/env.cfg.example Normal file
View File

@@ -0,0 +1,13 @@
# ============================================================
# mynat 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p mynat --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG=hub.wesais.cn/cnphpbb/mynat:v250603
Volumes_Path=/data/volumes/mynat

60
n8n/env.cfg.example Normal file
View File

@@ -0,0 +1,60 @@
# ============================================================
# n8n 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p n8n --env-file ./env.cfg -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填env.cfg 不提交)
# ============================================================
IMAGE_TAG_LATEST=2.3.6
IMAGE_TAG_Pre=2.4.4
# 数据库连接配置
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=n8n
POSTGRES_USER=n8n
POSTGRES_PASSWORD=<your-strong-password>
# n8n基础配置
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=<your-strong-password>
# 时区
GENERIC_TIMEZONE=Asia/Shanghai
TZ=Asia/Shanghai
# Webhook配置
WEBHOOK_URL=http://localhost:5678
# 加密密钥
N8N_ENCRYPTION_KEY=<your-encryption-key>

13
netdata/env.cfg.example Normal file
View File

@@ -0,0 +1,13 @@
# ============================================================
# netdata 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p netdata --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG=netdata/netdata:edge-0
Volumes_Path=/data/volumes/netdata

17
ntfy/env.cfg.example Normal file
View File

@@ -0,0 +1,17 @@
# ============================================================
# ntfy 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p ntfy --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG_VER=v2.15
IMAGE_TAG=binwiederhier/ntfy:${IMAGE_TAG_VER}
Volumes_Path=/data/volumes/ntfy

26
rustfs/env.cfg.example Normal file
View File

@@ -0,0 +1,26 @@
# ============================================================
# rustfs 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p rustfs --env-file ./env.cfg -f ./stack.yml up -d
#
# ============================================================
# ⚠️ 敏感值必填env.cfg 不提交)
# ============================================================
IMAGE_TAG=rustfs/rustfs:alpha # 最新版本
IMAGE_TAG_LTS=rustfs/rustfs:latest # 长期支持版本
Volumes_Path=/data/volumes/rustfs # 数据卷路径
RUSTFS_SERVER_DOMAINS=rustfs.example.com # 服务器域名
RUSTFS_CONSOLE_ENABLE=true # 是否启用控制台
RUSTFS_SECRET_KEY=<your-secret> # 密钥
RUSTFS_ACCESS_KEY=<your-access-key> # 访问密钥

17
searxng/env.cfg.example Normal file
View File

@@ -0,0 +1,17 @@
# ============================================================
# searxng 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p searxng --env-file ./env.cfg -f ./stack.yml up -d
#
SearXNG_TAG=searxng/searxng:latest
Redis_TAG=valkey/valkey:9.0.0-alpine
Valkey_TAG=valkey/valkey:9.0.0
Volumes_Path=/data/volumes/searxng

13
tasks/env.cfg.example Normal file
View File

@@ -0,0 +1,13 @@
# ============================================================
# tasks 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p tasks --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG=baldissaramatheus/tasks.md:2.5.4
Volumes_Path=/data/volumes/tasks.md

20
tasks/stack.yml Normal file
View File

@@ -0,0 +1,20 @@
# path:: mkdir -pv /data/volumes/tasks.md/{tasks,config}
# pull:: docker compose -p tasks.md --env-file ./tasks.md/env.cfg -f ./tasks.md/stack.yml pull
# run:: docker compose -p tasks.md --env-file ./tasks.md/env.cfg -f ./tasks.md/stack.yml up -d
services:
tasks.md:
image: ${IMAGE_TAG}
container_name: tasks.md
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ${Volumes_Path}/tasks:/tasks
- ${Volumes_Path}/config:/config
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
ports:
- 5480:8080

15
traefik/env.cfg.example Normal file
View File

@@ -0,0 +1,15 @@
# ============================================================
# traefik 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p traefik --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG_V3=traefik:v3.5.1
IMAGE_TAG_V2=traefik:v2.11.29
IMAGE_TAG_LATEST=traefik:latest

View File

@@ -0,0 +1,73 @@
# ========== 经典模式 ==========
# 如果为 true不使用任何颜色或图标与标准 ls 行为类似
classic: false
# ========== 分块Blocks ==========
# 定义每行显示哪些信息块,按顺序排列
blocks:
- permission # 文件权限 (rwxr-xr-x)
- user # 文件所有者
- group # 用户组
- size # 文件大小
- date # 日期/时间
- name # 文件名(必须包含)
# ========== 颜色主题 ==========
color:
# 何时使用颜色always总是、auto自动、never从不
when: auto
# 自定义文件类型颜色(覆盖默认值)
theme: custom
# ========== 日期格式 ==========
date: "+%Y-%m-%d %H:%M:%S" # 可选relative相对时间、isoISO格式
# ========== 跟随符号链接 ============
dereference: false
# ========== 图标 ==========
icons:
# 何时显示图标always、auto、never
when: auto
# 图标主题(需要对应的 Nerd Font
theme: fancy # 或 unicode
# 分隔符(图标与文件名之间的字符)
separator: " "
# ========== 忽略选项 ==========
ignore-globs:
- "*.bak" # 忽略所有 .bak 文件
- ".git" # 忽略 .git 目录
- "__pycache__" # 忽略 Python 缓存
# ========== 布局 ==========
layout: grid # grid网格| tree树状| oneline单行
# ========== 递归深度(--tree 时有效) ==========
recursion:
enabled: false
depth: 3 # 递归显示的最大深度
# ========== 排序 ==========
sorting:
column: name # 排序字段name、size、time、version、extension
# reverse: false # 是否倒序
# dir-grouping: first # 目录排序first靠前、last靠后、none
# ========== 符号链接 ==========
# 是否显示符号链接的目标路径
no-symlink: false
symlink-arrow: " ➜ "
# ========== 总大小 ==========
total-size: false # 是否显示总大小(在目录底部)
# ========== 截断所有者名 ==========
truncate-owner:
after: 8 # 用户名超过多少字符截断
# ========== 超链接 ==========
hyperlink: never # always | auto | never 是否生成终端超链接

View File

@@ -0,0 +1,32 @@
# 文件类型颜色
file-type:
directory:
foreground: cyan
bold: true
symlink:
foreground: magenta
italic: true
executable:
foreground: green
bold: true
socket:
foreground: red
pipe:
foreground: yellow
block-device:
foreground: red
char-device:
foreground: yellow
# 文件扩展名颜色(覆盖文件类型颜色)
extensions:
rs:
foreground: white
bold: true
py:
foreground: yellow
js:
foreground: green
md:
foreground: cyan
italic: true

View File

@@ -0,0 +1,13 @@
# ============================================================
# victoriametrics 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p victoriametrics --env-file ./env.cfg -f ./stack.yml up -d
#
IMAGE_TAG=victoriametrics/victoria-metrics:v1.126.0
Volumes_Path=/data/volumes/VictoriaMetrics

23
webout/env.cfg.example Normal file
View File

@@ -0,0 +1,23 @@
# ============================================================
# webout 部署 — 公共环境变量模板(不含敏感信息)
# 复制为 env.cfg 后填入真实值env.cfg 已被 .gitignore 忽略
# ============================================================
#
# 使用方式:
# cp env.cfg.example env.cfg
# $EDITOR env.cfg # 填入真实密码/密钥后保存
# docker compose -p webout --env-file ./env.cfg -f ./stack.yml up -d
#
#IMAGE_TAG=hub.tp229.com:3500/caddy:2.8.4
IMAGE_TAG=caddy:2.10.0
BUILD_IMAGE_TAG=caddy:2.10.0-builder
WEBDAV_IMAGE_TAG=cnphpbb/caddy-webdav:2-alpine
TXC_DEPLOY_ROOT=/data/deploy.stack
TXC_VOLUMES_ROOT=/data/volumes
CADDY_CONFIG_ROOT=/data/configs