diff --git a/.gitignore b/.gitignore index d7a927e..8f55184 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,12 @@ # Docker相关 .env +*.env *.env.* docker-compose.override.yml +# 例外:env 模板(不视为敏感配置)允许提交 +!**/*.env.example +!**/*.env.cfg.example +!**/env.cfg.example # 开发环境 .idea/ diff --git a/AGENTS.md b/AGENTS.md index f7c27fd..5cc9f76 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,9 +7,9 @@ ``` / ├── stack.yml / compose.yml / .stack.yml / .yml # Docker Compose 文件 - ├── env.cfg # 环境变量(含敏感信息,应 gitignore) - ├── readme.md # 服务说明文档(可选) - └── config/ # 服务配置文件(可选) + ├── env.cfg.example # 环境变量(含敏感信息,应 gitignore) + ├── readme.md # 服务说明文档(可选) + └── config/ # 服务配置文件(可选) ``` 顶层目录按职责划分: @@ -232,6 +232,47 @@ git push origin main 仓库早期 commit 有少量非 Conventional 风格(如 `Add lsd config and color theme`), **新增 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 是给 AI 助手(Claude Code、Codex、Hermes 等)和协作者阅读的项目宪法。 diff --git a/VaultWarden/env.cfg.example b/VaultWarden/env.cfg.example new file mode 100644 index 0000000..d6cf0a3 --- /dev/null +++ b/VaultWarden/env.cfg.example @@ -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= diff --git a/WireGuardVPN/wg-easy/env.cfg.example b/WireGuardVPN/wg-easy/env.cfg.example new file mode 100644 index 0000000..65a420d --- /dev/null +++ b/WireGuardVPN/wg-easy/env.cfg.example @@ -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="" diff --git a/adminer/env.cfg.example b/adminer/env.cfg.example new file mode 100644 index 0000000..acb48e1 --- /dev/null +++ b/adminer/env.cfg.example @@ -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 diff --git a/alist/env.cfg.example b/alist/env.cfg.example new file mode 100644 index 0000000..4529ead --- /dev/null +++ b/alist/env.cfg.example @@ -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 \ No newline at end of file diff --git a/alist/env.yml b/alist/env.yml deleted file mode 100644 index be66cea..0000000 --- a/alist/env.yml +++ /dev/null @@ -1,3 +0,0 @@ -IMAGE_TAG=xhofe/alist:v3.32.0-ffmpeg -DATA_PATH=/data/volumes/alist/data -LOCALFS_PATH=/data/volumes/alist/localFS \ No newline at end of file diff --git a/ansible/env.cfg.example b/ansible/env.cfg.example new file mode 100644 index 0000000..924f598 --- /dev/null +++ b/ansible/env.cfg.example @@ -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 diff --git a/base/env.cfg.example b/base/env.cfg.example new file mode 100644 index 0000000..99ce690 --- /dev/null +++ b/base/env.cfg.example @@ -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} diff --git a/builder/alpine/env.cfg.example b/builder/alpine/env.cfg.example new file mode 100644 index 0000000..4f013e4 --- /dev/null +++ b/builder/alpine/env.cfg.example @@ -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 diff --git a/builder/debian/env.cfg.example b/builder/debian/env.cfg.example new file mode 100644 index 0000000..6b8b176 --- /dev/null +++ b/builder/debian/env.cfg.example @@ -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 diff --git a/builder/golang/env.cfg.example b/builder/golang/env.cfg.example new file mode 100644 index 0000000..954ede8 --- /dev/null +++ b/builder/golang/env.cfg.example @@ -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 diff --git a/builder/nodejs/env.cfg.example b/builder/nodejs/env.cfg.example new file mode 100644 index 0000000..c636270 --- /dev/null +++ b/builder/nodejs/env.cfg.example @@ -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 diff --git a/dbSer/couchdb/env.cfg.example b/dbSer/couchdb/env.cfg.example new file mode 100644 index 0000000..280d5ee --- /dev/null +++ b/dbSer/couchdb/env.cfg.example @@ -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= + +Volumes_Path=/data/volumes/couchdb diff --git a/dbSer/loki/env.cfg.example b/dbSer/loki/env.cfg.example new file mode 100644 index 0000000..0c6fa28 --- /dev/null +++ b/dbSer/loki/env.cfg.example @@ -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} diff --git a/dbSer/mysql/env.cfg.example b/dbSer/mysql/env.cfg.example new file mode 100644 index 0000000..3a036dd --- /dev/null +++ b/dbSer/mysql/env.cfg.example @@ -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= diff --git a/dbSer/postgres/env.cfg.example b/dbSer/postgres/env.cfg.example new file mode 100644 index 0000000..da04477 --- /dev/null +++ b/dbSer/postgres/env.cfg.example @@ -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= + +POSTGRES_HOST_AUTH_METHOD=scram-sha-256 diff --git a/dbSer/redis/env.cfg.example b/dbSer/redis/env.cfg.example new file mode 100644 index 0000000..fb86147 --- /dev/null +++ b/dbSer/redis/env.cfg.example @@ -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= diff --git a/domain-admin/env.cfg.example b/domain-admin/env.cfg.example new file mode 100644 index 0000000..91693f0 --- /dev/null +++ b/domain-admin/env.cfg.example @@ -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 diff --git a/drawnix/env.cfg.example b/drawnix/env.cfg.example new file mode 100644 index 0000000..f6311a7 --- /dev/null +++ b/drawnix/env.cfg.example @@ -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} diff --git a/dufs/env.cfg.example b/dufs/env.cfg.example new file mode 100644 index 0000000..7fdc2d1 --- /dev/null +++ b/dufs/env.cfg.example @@ -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 diff --git a/etc/docker/daemon.json b/etc/docker/daemon.json index 05a47d5..bb7fbce 100644 --- a/etc/docker/daemon.json +++ b/etc/docker/daemon.json @@ -1,23 +1,26 @@ { - "registry-mirrors": [ - "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" - ], + "storage-driver": "overlay2", "data-root": "/data/docker", "log-driver": "json-file", "log-opts": { - "max-size": "10m", - "max-file": "3" + "max-size": "10m", + "max-file": "3" }, - "min-api-version": "1.24", - "insecure-registries": [ - "hub.tp229.com:3500" - ] -} \ No newline at end of file + "default-ulimits": { + "nofile": { + "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" +} diff --git a/flame/env.cfg.example b/flame/env.cfg.example new file mode 100644 index 0000000..dfe6363 --- /dev/null +++ b/flame/env.cfg.example @@ -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="" diff --git a/gitea/env.cfg.example b/gitea/env.cfg.example new file mode 100644 index 0000000..b1f2c42 --- /dev/null +++ b/gitea/env.cfg.example @@ -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 diff --git a/goofish/.env.example b/goofish/.env.example new file mode 100644 index 0000000..e618fed --- /dev/null +++ b/goofish/.env.example @@ -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="" + + + +# 模型的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="" # 你的 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= diff --git a/grafana/env.cfg.example b/grafana/env.cfg.example new file mode 100644 index 0000000..29ea1e9 --- /dev/null +++ b/grafana/env.cfg.example @@ -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} diff --git a/haproxy/env.cfg.example b/haproxy/env.cfg.example new file mode 100644 index 0000000..e5eaa36 --- /dev/null +++ b/haproxy/env.cfg.example @@ -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 diff --git a/hub-registry/env.cfg.example b/hub-registry/env.cfg.example new file mode 100644 index 0000000..6a5ecfd --- /dev/null +++ b/hub-registry/env.cfg.example @@ -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 diff --git a/it-tools/compose.yml b/it-tools/compose.yml index fe60031..967a468 100644 --- a/it-tools/compose.yml +++ b/it-tools/compose.yml @@ -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: diff --git a/it-tools/env.cfg.example b/it-tools/env.cfg.example new file mode 100644 index 0000000..8613c78 --- /dev/null +++ b/it-tools/env.cfg.example @@ -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 diff --git a/it-tools/readme.md b/it-tools/readme.md new file mode 100644 index 0000000..f42e36a --- /dev/null +++ b/it-tools/readme.md @@ -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: . + +# 推送到仓库 +docker push hub.6t7.net/cnphpbb/it-tools: +``` + +构建依赖: +- 构建阶段:`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: +- 在线体验: \ No newline at end of file diff --git a/joplin/amd.env.cfg.example b/joplin/amd.env.cfg.example new file mode 100644 index 0000000..a78fcf4 --- /dev/null +++ b/joplin/amd.env.cfg.example @@ -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= + +POSTGRES_DATABASE=joplin-db + +POSTGRES_PORT=5432 + +POSTGRES_HOST=10.0.74.3 diff --git a/joplin/env.cfg.example b/joplin/env.cfg.example new file mode 100644 index 0000000..a88296e --- /dev/null +++ b/joplin/env.cfg.example @@ -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= + +POSTGRES_DATABASE=joplin-db + +POSTGRES_PORT=5432 + +POSTGRES_HOST=192.168.100.184 diff --git a/memos/env.cfg.example b/memos/env.cfg.example new file mode 100644 index 0000000..cf393cf --- /dev/null +++ b/memos/env.cfg.example @@ -0,0 +1,20 @@ +# ============================================================ +# Memos 部署 — 公共环境变量 +# 复制为 env.cfg 后填入真实值,env.cfg 已在 .gitignore 中忽略 +# ============================================================ +# +# 使用方式: +# cp env.cfg.example env.cfg +# # 数据库相关变量在 db-.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 diff --git a/mynat/env.cfg.example b/mynat/env.cfg.example new file mode 100644 index 0000000..737a861 --- /dev/null +++ b/mynat/env.cfg.example @@ -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 diff --git a/n8n/env.cfg.example b/n8n/env.cfg.example new file mode 100644 index 0000000..d2843ef --- /dev/null +++ b/n8n/env.cfg.example @@ -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= + + + +# n8n基础配置 + +N8N_BASIC_AUTH_ACTIVE=true + +N8N_BASIC_AUTH_USER=admin + +N8N_BASIC_AUTH_PASSWORD= + + + +# 时区 + +GENERIC_TIMEZONE=Asia/Shanghai + +TZ=Asia/Shanghai + + + +# Webhook配置 + +WEBHOOK_URL=http://localhost:5678 + + + +# 加密密钥 + +N8N_ENCRYPTION_KEY= diff --git a/netdata/env.cfg.example b/netdata/env.cfg.example new file mode 100644 index 0000000..9617d15 --- /dev/null +++ b/netdata/env.cfg.example @@ -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 diff --git a/ntfy/env.cfg.example b/ntfy/env.cfg.example new file mode 100644 index 0000000..6f7102e --- /dev/null +++ b/ntfy/env.cfg.example @@ -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 diff --git a/rustfs/env.cfg.example b/rustfs/env.cfg.example new file mode 100644 index 0000000..01fe814 --- /dev/null +++ b/rustfs/env.cfg.example @@ -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= # 密钥 + +RUSTFS_ACCESS_KEY= # 访问密钥 diff --git a/searxng/env.cfg.example b/searxng/env.cfg.example new file mode 100644 index 0000000..82c388f --- /dev/null +++ b/searxng/env.cfg.example @@ -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 diff --git a/tasks/env.cfg.example b/tasks/env.cfg.example new file mode 100644 index 0000000..344f2df --- /dev/null +++ b/tasks/env.cfg.example @@ -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 diff --git a/tasks/stack.yml b/tasks/stack.yml new file mode 100644 index 0000000..1c5feba --- /dev/null +++ b/tasks/stack.yml @@ -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 \ No newline at end of file diff --git a/traefik/env.cfg.example b/traefik/env.cfg.example new file mode 100644 index 0000000..563eaad --- /dev/null +++ b/traefik/env.cfg.example @@ -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 diff --git a/user-config/lsd/config.yaml b/user-config/lsd/config.yaml new file mode 100644 index 0000000..f7ec6f1 --- /dev/null +++ b/user-config/lsd/config.yaml @@ -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(相对时间)、iso(ISO格式) + +# ========== 跟随符号链接 ============ +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 是否生成终端超链接 diff --git a/user-config/lsd/ colors.yaml b/user-config/lsd/ colors.yaml new file mode 100644 index 0000000..f9d8a06 --- /dev/null +++ b/user-config/lsd/ colors.yaml @@ -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 diff --git a/victoriametrics/env.cfg.example b/victoriametrics/env.cfg.example new file mode 100644 index 0000000..e50fbd1 --- /dev/null +++ b/victoriametrics/env.cfg.example @@ -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 diff --git a/webout/env.cfg.example b/webout/env.cfg.example new file mode 100644 index 0000000..fca7859 --- /dev/null +++ b/webout/env.cfg.example @@ -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