From e33ab8cd9079937a2d48d49fce65b79271b2bbf4 Mon Sep 17 00:00:00 2001 From: Timi Date: Thu, 22 Jan 2026 16:17:14 +0800 Subject: [PATCH] add README --- frp/README.md | 117 ++++++++++++++++++++++++++++++++++++ gitea_runner_base/README.md | 47 +++++++++++++++ gitea_runner_java/README.md | 90 +++++++++++++++++++++++++++ java_runtime/README.md | 85 ++++++++++++++++++++++++++ 4 files changed, 339 insertions(+) create mode 100644 frp/README.md create mode 100644 gitea_runner_base/README.md create mode 100644 gitea_runner_java/README.md create mode 100644 java_runtime/README.md diff --git a/frp/README.md b/frp/README.md new file mode 100644 index 0000000..0cb8b3c --- /dev/null +++ b/frp/README.md @@ -0,0 +1,117 @@ +# FRP (Fast Reverse Proxy) + +FRP 内网穿透工具镜像,支持服务端 (frps) 和客户端 (frpc)。 + +## 基础镜像 + +- `debian:latest` + +## 包含组件 + +| 组件 | 版本 | +|------|------| +| frps | 0.66.0 | +| frpc | 0.66.0 | + +## 构建 + +```bash +# 默认构建 +./rebuild.sh frp + +# 指定版本 +docker build --build-arg FRP_VERSION=0.66.0 -t timi/frp:latest ./frp + +# 通过代理下载 +docker build --build-arg PROXY=http://proxy:8080 -t timi/frp:latest ./frp +``` + +## 构建参数 + +| 参数 | 默认值 | 说明 | +|------|--------|------| +| `FRP_VERSION` | 0.66.0 | FRP 版本号 | +| `PROXY` | (空) | 下载时使用的代理地址 | + +## 暴露端口 + +| 端口 | 说明 | +|------|------| +| 7000 | frps 服务端口 | +| 7500 | frps Dashboard | +| 7400 | frps KCPTUN | + +## 使用 + +### 作为服务端 (frps) + +```bash +# 创建配置文件 +cat > frps.toml << 'EOF' +bindPort = 7000 +webServer.addr = "0.0.0.0" +webServer.port = 7500 +EOF + +# 运行服务端 +docker run -d --name frps \ + -p 7000:7000 \ + -p 7500:7500 \ + -v $(pwd)/frps.toml:/etc/frp/frps.toml \ + timi/frp:latest +``` + +### 作为客户端 (frpc) + +```bash +# 创建配置文件 +cat > frpc.toml << 'EOF' +serverAddr = "your-server.com" +serverPort = 7000 + +[[proxies]] +name = "web" +type = "http" +localPort = 80 +customDomains = ["example.com"] +EOF + +# 运行客户端 +docker run -d --name frpc \ + -v $(pwd)/frpc.toml:/etc/frp/frpc.toml \ + --entrypoint /usr/local/bin/frpc \ + timi/frp:latest -c /etc/frp/frpc.toml +``` + +### Docker Compose 示例 + +#### 服务端 + +```yaml +services: + frps: + image: timi/frp:latest + ports: + - "7000:7000" + - "7500:7500" + volumes: + - ./frps.toml:/etc/frp/frps.toml + restart: unless-stopped +``` + +#### 客户端 + +```yaml +services: + frpc: + image: timi/frp:latest + entrypoint: /usr/local/bin/frpc + command: ["-c", "/etc/frp/frpc.toml"] + volumes: + - ./frpc.toml:/etc/frp/frpc.toml + restart: unless-stopped +``` + +## 配置文件参考 + +FRP 官方文档: https://gofrp.org/zh-cn/docs/ diff --git a/gitea_runner_base/README.md b/gitea_runner_base/README.md new file mode 100644 index 0000000..242ae20 --- /dev/null +++ b/gitea_runner_base/README.md @@ -0,0 +1,47 @@ +# Gitea Runner Base + +Gitea Action Runner 基础镜像,基于 `gitea/act_runner` 添加常用构建工具。 + +## 基础镜像 + +- `gitea/act_runner:latest` (Alpine Linux) + +## 包含工具 + +| 类别 | 工具 | +|------|------| +| 版本控制 | git, git-lfs | +| 网络工具 | curl, wget, ca-certificates, openssl | +| 压缩工具 | tar, gzip, bzip2, xz, zip, unzip | +| 构建工具 | make, bash, coreutils, findutils, grep, sed, gawk | +| 其他工具 | jq, tree | + +## 构建 + +```bash +# 使用构建脚本 +./rebuild.sh gitea_runner_base + +# 或直接使用 docker build +docker build -t timi/gitea_runner_base:latest ./gitea_runner_base +``` + +## 使用 + +此镜像作为其他语言环境镜像的基础,通常不直接使用。 + +如需直接使用: + +```bash +docker run --rm -it timi/gitea_runner_base:latest /bin/bash +``` + +## 扩展 + +创建新的语言环境镜像时,以此镜像为基础: + +```dockerfile +FROM timi/gitea_runner_base:latest + +# 添加语言环境... +``` diff --git a/gitea_runner_java/README.md b/gitea_runner_java/README.md new file mode 100644 index 0000000..cbb34a0 --- /dev/null +++ b/gitea_runner_java/README.md @@ -0,0 +1,90 @@ +# Gitea Runner Java + +Gitea Action Runner Java 构建环境,基于 `gitea_runner_base` 添加多版本 JDK 和 Maven。 + +## 基础镜像 + +- `timi/gitea_runner_base:latest` + +## 包含环境 + +| 组件 | 版本 | +|------|------| +| JDK | 8, 11, 17, 21 (OpenJDK) | +| Maven | 3.9.12 | + +## JDK 路径 + +| 版本 | 路径 | +|------|------| +| JDK 8 | `/usr/lib/jvm/java-1.8-openjdk` | +| JDK 11 | `/usr/lib/jvm/java-11-openjdk` | +| JDK 17 | `/usr/lib/jvm/java-17-openjdk` | +| JDK 21 | `/usr/lib/jvm/java-21-openjdk` | + +默认使用 JDK 17。 + +## 构建 + +```bash +# 先构建基础镜像 +./rebuild.sh gitea_runner_base + +# 再构建 Java 镜像 +./rebuild.sh gitea_runner_java +``` + +## 切换 JDK 版本 + +### 方式一:使用切换脚本 + +```bash +source use-java 8 # 切换到 JDK 8 +source use-java 11 # 切换到 JDK 11 +source use-java 17 # 切换到 JDK 17 +source use-java 21 # 切换到 JDK 21 +``` + +### 方式二:设置环境变量 + +```yaml +# Gitea Action workflow 示例 +env: + JAVA_HOME: /usr/lib/jvm/java-11-openjdk +``` + +### 方式三:直接调用 + +```bash +/usr/lib/jvm/java-1.8-openjdk/bin/java -version +``` + +## 环境变量 + +| 变量 | 默认值 | +|------|--------| +| `JAVA_HOME` | `/usr/lib/jvm/java-17-openjdk` | +| `MAVEN_HOME` | `/opt/maven` | + +## Gitea Action 示例 + +```yaml +name: Java Build +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + container: + image: timi/gitea_runner_java:latest + steps: + - uses: actions/checkout@v4 + + - name: Build with Maven + run: mvn clean package + + - name: Build with JDK 8 + run: | + source use-java 8 + mvn clean package +``` diff --git a/java_runtime/README.md b/java_runtime/README.md new file mode 100644 index 0000000..9df1485 --- /dev/null +++ b/java_runtime/README.md @@ -0,0 +1,85 @@ +# Java Runtime + +多版本 Java 运行时环境,用于运行各类 Java 服务。 + +## 基础镜像 + +- `debian:latest` + +## 包含环境 + +| 组件 | 版本 | +|------|------| +| JRE | 8, 21 (Eclipse Temurin) | +| 时区 | Asia/Shanghai | +| 字符集 | UTF-8 | + +## JRE 路径 + +| 版本 | 路径 | +|------|------| +| JRE 8 | `/usr/lib/jvm/temurin-8-jre-amd64` | +| JRE 21 | `/usr/lib/jvm/temurin-21-jre-amd64` | + +默认使用 JRE 21。 + +## 预装依赖 + +- **网络工具**: curl, openssh-client +- **进程工具**: procps, net-tools, iproute2 +- **字体支持**: 文泉驿微米黑、文泉驿正黑、文鼎楷体、文鼎宋体 +- **图形库**: libjpeg, libpng, libfreetype, fontconfig +- **数据库客户端**: libmariadb3, libpq5 + +## 构建 + +```bash +./rebuild.sh java_runtime +``` + +## 使用 + +### 运行 JAR 应用 + +```bash +# 使用默认 JRE 21 +docker run --rm -v /path/to/app:/app timi/java_runtime:latest java -jar /app/app.jar + +# 使用 JRE 8 +docker run --rm -e JAVA_HOME=/usr/lib/jvm/temurin-8-jre-amd64 \ + -v /path/to/app:/app timi/java_runtime:latest \ + /usr/lib/jvm/temurin-8-jre-amd64/bin/java -jar /app/app.jar +``` + +### 作为基础镜像 + +```dockerfile +FROM timi/java_runtime:latest + +COPY target/app.jar /app/app.jar + +ENTRYPOINT ["java", "-jar", "/app/app.jar"] +``` + +### Docker Compose 示例 + +```yaml +services: + myapp: + image: timi/java_runtime:latest + volumes: + - ./app.jar:/app/app.jar + command: java -jar /app/app.jar + environment: + - TZ=Asia/Shanghai +``` + +## 环境变量 + +| 变量 | 默认值 | +|------|--------| +| `JAVA_HOME` | `/usr/lib/jvm/temurin-21-jre-amd64` | +| `JAVA8_HOME` | `/usr/lib/jvm/temurin-8-jre-amd64` | +| `JAVA21_HOME` | `/usr/lib/jvm/temurin-21-jre-amd64` | +| `TZ` | `Asia/Shanghai` | +| `LANG` | `C.UTF-8` |