From 35404c3674f1f075e96b1372e33bc4c47e6991b5 Mon Sep 17 00:00:00 2001 From: Sun-ZhenXing <1006925066@qq.com> Date: Wed, 8 Jul 2026 15:44:12 +0800 Subject: [PATCH] feat: add rustfs --- README.md | 5 +-- README.zh.md | 5 +-- builds/mineru/.env.example | 2 +- builds/mineru/Dockerfile | 10 +++--- builds/mineru/README.md | 2 +- builds/mineru/README.zh.md | 2 +- builds/mineru/china.Dockerfile | 8 +++-- builds/mineru/corex.Dockerfile | 2 +- builds/mineru/dcu.Dockerfile | 2 +- builds/mineru/docker-compose.yaml | 5 +-- builds/mineru/gcu.Dockerfile | 2 +- builds/mineru/kxpu.Dockerfile | 2 +- builds/mineru/maca.Dockerfile | 6 +++- builds/mineru/mlu.Dockerfile | 6 ++-- builds/mineru/musa.Dockerfile | 2 +- builds/mineru/npu.Dockerfile | 7 ++-- builds/mineru/ppu.Dockerfile | 6 +++- src/rustfs/.env.example | 33 +++++++++++++++++++ src/rustfs/README.md | 44 +++++++++++++++++++++++++ src/rustfs/README.zh.md | 44 +++++++++++++++++++++++++ src/rustfs/docker-compose.yaml | 55 +++++++++++++++++++++++++++++++ src/signoz/.env.example | 6 ++-- src/signoz/README.md | 16 ++++----- src/signoz/README.zh.md | 14 ++++---- src/signoz/docker-compose.yaml | 10 +++--- 25 files changed, 244 insertions(+), 52 deletions(-) create mode 100644 src/rustfs/.env.example create mode 100644 src/rustfs/README.md create mode 100644 src/rustfs/README.zh.md create mode 100644 src/rustfs/docker-compose.yaml diff --git a/README.md b/README.md index 0246dbf..34ca845 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ These services require building custom Docker images from source. | [goose](./builds/goose) | 1.18.0 | | [IOPaint](./builds/io-paint) | 1.6.0 | | [K3s inside DinD](./builds/k3s-inside-dind) | 0.2.2 | -| [MinerU vLLM](./builds/mineru) | 3.1.0 | +| [MinerU vLLM](./builds/mineru) | 3.4.2 | | [Multica](./builds/multica) | v0.1.32 | | [OpenFang](./builds/openfang) | 0.1.0 | | [Paperclip](./builds/paperclip) | main | @@ -179,10 +179,11 @@ These services require building custom Docker images from source. | [Renovate](./src/renovate) | 42.85.4-full | | [Restate Cluster](./src/restate-cluster) | 1.5.3 | | [Restate](./src/restate) | 1.5.3 | +| [RustFS](./src/rustfs) | 1.0.0-beta.8-glibc | | [SearXNG](./src/searxng) | 2025.1.20-1ce14ef99 | | [Selenium](./src/selenium) | 144.0-20260120 | | [Shannon](./apps/shannon) | v0.3.1 | -| [SigNoz](./src/signoz) | 0.55.0 | +| [SigNoz](./src/signoz) | v0.131.1 | | [Sim](./apps/sim) | latest | | [Skyvern](./apps/skyvern) | v1.0.31 | | [Stable Diffusion WebUI](./apps/stable-diffusion-webui-docker) | latest | diff --git a/README.zh.md b/README.zh.md index 5c6a680..c895479 100644 --- a/README.zh.md +++ b/README.zh.md @@ -38,7 +38,7 @@ docker compose exec redis redis-cli ping | [goose](./builds/goose) | 1.18.0 | | [IOPaint](./builds/io-paint) | 1.6.0 | | [K3s inside DinD](./builds/k3s-inside-dind) | 0.2.2 | -| [MinerU vLLM](./builds/mineru) | 3.1.0 | +| [MinerU vLLM](./builds/mineru) | 3.4.2 | | [Multica](./builds/multica) | v0.1.32 | | [OpenFang](./builds/openfang) | 0.1.0 | | [Paperclip](./builds/paperclip) | main | @@ -179,10 +179,11 @@ docker compose exec redis redis-cli ping | [Renovate](./src/renovate) | 42.85.4-full | | [Restate Cluster](./src/restate-cluster) | 1.5.3 | | [Restate](./src/restate) | 1.5.3 | +| [RustFS](./src/rustfs) | 1.0.0-beta.8-glibc | | [SearXNG](./src/searxng) | 2025.1.20-1ce14ef99 | | [Selenium](./src/selenium) | 144.0-20260120 | | [Shannon](./apps/shannon) | v0.3.1 | -| [SigNoz](./src/signoz) | 0.55.0 | +| [SigNoz](./src/signoz) | v0.131.1 | | [Sim](./apps/sim) | latest | | [Skyvern](./apps/skyvern) | v1.0.31 | | [Stable Diffusion WebUI](./apps/stable-diffusion-webui-docker) | latest | diff --git a/builds/mineru/.env.example b/builds/mineru/.env.example index ff14d8d..c541858 100644 --- a/builds/mineru/.env.example +++ b/builds/mineru/.env.example @@ -1,5 +1,5 @@ # MinerU Docker image -MINERU_VERSION=3.1.0 +MINERU_VERSION=3.4.2 # Port configurations MINERU_PORT_OVERRIDE_VLLM=30000 diff --git a/builds/mineru/Dockerfile b/builds/mineru/Dockerfile index d728511..405dd5d 100644 --- a/builds/mineru/Dockerfile +++ b/builds/mineru/Dockerfile @@ -1,7 +1,9 @@ -# Use DaoCloud mirrored vllm image for China region for gpu with Volta、Turing、Ampere、Ada Lovelace、Hopper、Blackwell architecture (7.0 <= Compute Capability <= 12.0) +# Use the official vllm image for gpu with Volta、Turing、Ampere、Ada Lovelace、Hopper、Blackwell architecture (7.0 <= Compute Capability <= 12.1) +# The default base image uses vLLM 0.21.0 with CUDA 13.0. For CUDA 12.9 environments, switch to the commented cu129 image below. # Compute Capability version query (https://developer.nvidia.com/cuda-gpus) # support x86_64 architecture and ARM(AArch64) architecture -FROM docker.m.daocloud.io/vllm/vllm-openai:v0.11.2 +FROM vllm/vllm-openai:v0.21.0 +# FROM vllm/vllm-openai:v0.21.0-cu129 # Install libgl for opencv support & Noto fonts for Chinese characters RUN apt-get update && \ @@ -15,11 +17,11 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # Install mineru latest -RUN python3 -m pip install -U 'mineru[core]>=3.0.0' -i https://mirrors.aliyun.com/pypi/simple --break-system-packages && \ +RUN python3 -m pip install -U 'mineru[core]>=3.4.0' --break-system-packages && \ python3 -m pip cache purge # Download models and update the configuration file -RUN /bin/bash -c "mineru-models-download -s modelscope -m all" +RUN /bin/bash -c "mineru-models-download -s huggingface -m all" # Set the entry point to activate the virtual environment and run the command line tool ENTRYPOINT ["/bin/bash", "-c", "export MINERU_MODEL_SOURCE=local && exec \"$@\"", "--"] diff --git a/builds/mineru/README.md b/builds/mineru/README.md index 57aa8fd..bc3b57d 100644 --- a/builds/mineru/README.md +++ b/builds/mineru/README.md @@ -39,7 +39,7 @@ mineru -p demo.pdf -o ./output -b vlm-http-client -u http://localhost:30000 ## Configuration -- `MINERU_VERSION`: The version for MinerU, default is `3.1.0`. +- `MINERU_VERSION`: The version for MinerU, default is `3.4.2`. - `MINERU_PORT_OVERRIDE_VLLM`: The host port for the VLLM server, default is `30000`. - `MINERU_PORT_OVERRIDE_API`: The host port for the API service, default is `8000`. - `MINERU_PORT_OVERRIDE_GRADIO`: The host port for the Gradio WebUI, default is `7860`. diff --git a/builds/mineru/README.zh.md b/builds/mineru/README.zh.md index 74c4de2..9a8d6a7 100644 --- a/builds/mineru/README.zh.md +++ b/builds/mineru/README.zh.md @@ -39,7 +39,7 @@ mineru -p demo.pdf -o ./output -b vlm-http-client -u http://localhost:30000 ## 配置 -- `MINERU_VERSION`: MinerU 的 Docker 镜像版本,默认为 `3.1.0`。 +- `MINERU_VERSION`: MinerU 的 Docker 镜像版本,默认为 `3.4.2`。 - `MINERU_PORT_OVERRIDE_VLLM`: VLLM 服务器的主机端口,默认为 `30000`。 - `MINERU_PORT_OVERRIDE_API`: API 服务的主机端口,默认为 `8000`。 - `MINERU_PORT_OVERRIDE_GRADIO`: Gradio WebUI 的主机端口,默认为 `7860`。 diff --git a/builds/mineru/china.Dockerfile b/builds/mineru/china.Dockerfile index db0ff31..2567a06 100644 --- a/builds/mineru/china.Dockerfile +++ b/builds/mineru/china.Dockerfile @@ -1,7 +1,9 @@ -# Use DaoCloud mirrored vllm image for China region for gpu with Volta、Turing、Ampere、Ada Lovelace、Hopper、Blackwell architecture (7.0 <= Compute Capability <= 12.0) +# Use DaoCloud mirrored vllm image for China region for gpu with Volta、Turing、Ampere、Ada Lovelace、Hopper、Blackwell architecture (7.0 <= Compute Capability <= 12.1) +# The default base image uses vLLM 0.21.0 with CUDA 13.0. For CUDA 12.9 environments, switch to the commented cu129 image below. # Compute Capability version query (https://developer.nvidia.com/cuda-gpus) # support x86_64 architecture and ARM(AArch64) architecture -FROM docker.m.daocloud.io/vllm/vllm-openai:v0.11.2 +FROM docker.m.daocloud.io/vllm/vllm-openai:v0.21.0 +# FROM docker.m.daocloud.io/vllm/vllm-openai:v0.21.0-cu129 # Install libgl for opencv support & Noto fonts for Chinese characters RUN apt-get update && \ @@ -15,7 +17,7 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # Install mineru latest -RUN python3 -m pip install -U 'mineru[core]>=3.0.0' -i https://mirrors.aliyun.com/pypi/simple --break-system-packages && \ +RUN python3 -m pip install -U 'mineru[core]>=3.4.0' -i https://mirrors.aliyun.com/pypi/simple --break-system-packages && \ python3 -m pip cache purge # Download models and update the configuration file diff --git a/builds/mineru/corex.Dockerfile b/builds/mineru/corex.Dockerfile index 34a7d12..305c40f 100644 --- a/builds/mineru/corex.Dockerfile +++ b/builds/mineru/corex.Dockerfile @@ -14,7 +14,7 @@ RUN apt-get update && \ # Install mineru latest RUN python3 -m pip install -U pip -i https://mirrors.aliyun.com/pypi/simple && \ - python3 -m pip install 'mineru[core]>=3.0.0' \ + python3 -m pip install 'mineru[core]>=3.4.0' \ numpy==1.26.4 \ opencv-python==4.11.0.86 \ -i https://mirrors.aliyun.com/pypi/simple && \ diff --git a/builds/mineru/dcu.Dockerfile b/builds/mineru/dcu.Dockerfile index 2c67da1..db716f5 100644 --- a/builds/mineru/dcu.Dockerfile +++ b/builds/mineru/dcu.Dockerfile @@ -14,7 +14,7 @@ RUN apt-get update && \ # Install mineru latest RUN python3 -m pip install -U pip -i https://mirrors.aliyun.com/pypi/simple && \ - python3 -m pip install "mineru[gradio]>=3.0.0" \ + python3 -m pip install "mineru[gradio]>=3.4.0" \ "ftfy>=6.3.1,<7" \ "shapely>=2.0.7,<3" \ "pyclipper>=1.3.0,<2" \ diff --git a/builds/mineru/docker-compose.yaml b/builds/mineru/docker-compose.yaml index 02076cd..b144f3f 100644 --- a/builds/mineru/docker-compose.yaml +++ b/builds/mineru/docker-compose.yaml @@ -8,13 +8,10 @@ x-defaults: &defaults x-mineru-vllm: &mineru-vllm <<: *defaults - image: ${GLOBAL_REGISTRY:-}alexsuntop/mineru:${MINERU_VERSION:-3.1.0} + image: ${GLOBAL_REGISTRY:-}alexsuntop/mineru:${MINERU_VERSION:-3.4.2} build: context: . dockerfile: ${MINERU_DOCKERFILE_PATH:-Dockerfile} - platforms: - - linux/amd64 - - linux/arm64 environment: TZ: ${TZ:-UTC} MINERU_MODEL_SOURCE: local diff --git a/builds/mineru/gcu.Dockerfile b/builds/mineru/gcu.Dockerfile index 41dc275..131066d 100644 --- a/builds/mineru/gcu.Dockerfile +++ b/builds/mineru/gcu.Dockerfile @@ -17,7 +17,7 @@ RUN echo 'deb http://mirrors.aliyun.com/ubuntu/ noble main restricted universe m rm -rf /var/lib/apt/lists/* /tmp/aliyun-sources.list # Install mineru latest -RUN python3 -m pip install "mineru[core]>=3.0.0" \ +RUN python3 -m pip install "mineru[core]>=3.4.0" \ numpy==1.26.4 \ opencv-python==4.11.0.86 \ -i https://mirrors.aliyun.com/pypi/simple && \ diff --git a/builds/mineru/kxpu.Dockerfile b/builds/mineru/kxpu.Dockerfile index f10178c..87b41ee 100644 --- a/builds/mineru/kxpu.Dockerfile +++ b/builds/mineru/kxpu.Dockerfile @@ -14,7 +14,7 @@ RUN apt-get update && \ # Install mineru latest RUN python3 -m pip install -U pip -i https://mirrors.aliyun.com/pypi/simple && \ - python3 -m pip install "mineru[gradio]>=3.0.0" \ + python3 -m pip install "mineru[gradio]>=3.4.0" \ "ftfy>=6.3.1,<7" \ "shapely>=2.0.7,<3" \ "pyclipper>=1.3.0,<2" \ diff --git a/builds/mineru/maca.Dockerfile b/builds/mineru/maca.Dockerfile index 137eca1..897f025 100644 --- a/builds/mineru/maca.Dockerfile +++ b/builds/mineru/maca.Dockerfile @@ -3,6 +3,7 @@ FROM cr.metax-tech.com/public-ai-release/maca/vllm:maca.ai3.1.0.7-torch2.6-py310-ubuntu22.04-amd64 # Base image containing the LMDeploy inference environment, requiring amd64(x86-64) CPU + metax GPU. # FROM crpi-vofi3w62lkohhxsp.cn-shanghai.personal.cr.aliyuncs.com/opendatalab-mineru/maca:maca.ai3.1.0.7-torch2.6-py310-ubuntu22.04-lmdeploy0.10.2-amd64 +# ARG BACKEND=lmdeploy # Install libgl for opencv support & Noto fonts for Chinese characters RUN apt-get update && \ @@ -21,10 +22,13 @@ RUN sed -i '3s/^Version: 0.15.1+metax3\.1\.0\.4$/Version: 0.21.0+metax3.1.0.4/' # Install mineru latest RUN /opt/conda/bin/python3 -m pip install -U pip -i https://mirrors.aliyun.com/pypi/simple && \ - /opt/conda/bin/python3 -m pip install 'mineru[core]>=3.0.0' \ + /opt/conda/bin/python3 -m pip install 'mineru[core]>=3.4.0' \ numpy==1.26.4 \ opencv-python==4.11.0.86 \ -i https://mirrors.aliyun.com/pypi/simple && \ + if [ "$BACKEND" = "lmdeploy" ]; then \ + /opt/conda/bin/python3 -m pip install 'qwen-vl-utils>=0.0.14,<1' -i https://mirrors.aliyun.com/pypi/simple; \ + fi && \ /opt/conda/bin/python3 -m pip cache purge # Download models and update the configuration file diff --git a/builds/mineru/mlu.Dockerfile b/builds/mineru/mlu.Dockerfile index 1a172de..07236f8 100644 --- a/builds/mineru/mlu.Dockerfile +++ b/builds/mineru/mlu.Dockerfile @@ -22,11 +22,13 @@ RUN /bin/bash -c '\ source /torch/venv3/pytorch_infer/bin/activate; \ fi && \ python3 -m pip install -U pip -i https://mirrors.aliyun.com/pypi/simple && \ - python3 -m pip install "mineru[core]>=3.0.0" \ + python3 -m pip install "mineru[core]>=3.4.0" \ numpy==1.26.4 \ opencv-python==4.11.0.86 \ -i https://mirrors.aliyun.com/pypi/simple && \ - python3 -m pip install $(if [ "$BACKEND" = "lmdeploy" ]; then echo "accelerate==1.2.0"; else echo "transformers==4.50.3"; fi) && \ + python3 -m pip install \ + $(if [ "$BACKEND" = "lmdeploy" ]; then echo "qwen-vl-utils>=0.0.14,<1 accelerate==1.2.0"; else echo "transformers==4.50.3"; fi) \ + -i https://mirrors.aliyun.com/pypi/simple && \ python3 -m pip cache purge' # Download models and update the configuration file diff --git a/builds/mineru/musa.Dockerfile b/builds/mineru/musa.Dockerfile index 4d12de6..f920f74 100644 --- a/builds/mineru/musa.Dockerfile +++ b/builds/mineru/musa.Dockerfile @@ -18,7 +18,7 @@ RUN python3 -m pip install -U pip -i https://mirrors.aliyun.com/pypi/simple && \ git clone https://gitcode.com/gh_mirrors/vi/vision.git -b v0.20.0 --depth 1 && \ cd vision && \ python3 setup.py install && \ - python3 -m pip install "mineru[gradio]>=3.0.0" \ + python3 -m pip install "mineru[gradio]>=3.4.0" \ "ftfy>=6.3.1,<7" \ "shapely>=2.0.7,<3" \ "pyclipper>=1.3.0,<2" \ diff --git a/builds/mineru/npu.Dockerfile b/builds/mineru/npu.Dockerfile index 9b4ce26..0a6eb32 100644 --- a/builds/mineru/npu.Dockerfile +++ b/builds/mineru/npu.Dockerfile @@ -3,7 +3,7 @@ FROM quay.m.daocloud.io/ascend/vllm-ascend:v0.11.0 # Base image containing the LMDeploy inference environment, requiring ARM(AArch64) CPU + Ascend NPU. # FROM crpi-4crprmm5baj1v8iv.cn-hangzhou.personal.cr.aliyuncs.com/lmdeploy_dlinfer/ascend:mineru-a2 - +# ARG BACKEND=lmdeploy # Install libgl for opencv support & Noto fonts for Chinese characters RUN apt-get update && \ @@ -19,10 +19,13 @@ RUN apt-get update && \ # Install mineru latest RUN python3 -m pip install -U pip -i https://mirrors.aliyun.com/pypi/simple && \ - python3 -m pip install 'mineru[core]>=3.0.0' \ + python3 -m pip install 'mineru[core]>=3.4.0' \ numpy==1.26.4 \ opencv-python==4.11.0.86 \ -i https://mirrors.aliyun.com/pypi/simple && \ + if [ "$BACKEND" = "lmdeploy" ]; then \ + python3 -m pip install 'qwen-vl-utils>=0.0.14,<1' -i https://mirrors.aliyun.com/pypi/simple; \ + fi && \ python3 -m pip cache purge # Download models and update the configuration file diff --git a/builds/mineru/ppu.Dockerfile b/builds/mineru/ppu.Dockerfile index 32e6570..3583f33 100644 --- a/builds/mineru/ppu.Dockerfile +++ b/builds/mineru/ppu.Dockerfile @@ -3,6 +3,7 @@ FROM crpi-vofi3w62lkohhxsp.cn-shanghai.personal.cr.aliyuncs.com/opendatalab-mineru/ppu:ppu-pytorch2.6.0-ubuntu24.04-cuda12.6-vllm0.8.5-py312 # Base image containing the LMDeploy inference environment, requiring amd64(x86-64) CPU + t-head PPU. # FROM crpi-4crprmm5baj1v8iv.cn-hangzhou.personal.cr.aliyuncs.com/lmdeploy_dlinfer/ppu:mineru-ppu +# ARG BACKEND=lmdeploy # Install libgl for opencv support & Noto fonts for Chinese characters RUN apt-get update && \ @@ -17,10 +18,13 @@ RUN apt-get update && \ # Install mineru latest RUN python3 -m pip install -U pip -i https://mirrors.aliyun.com/pypi/simple && \ - python3 -m pip install 'mineru[core]>=3.0.0' \ + python3 -m pip install 'mineru[core]>=3.4.0' \ numpy==1.26.4 \ opencv-python==4.11.0.86 \ -i https://mirrors.aliyun.com/pypi/simple && \ + if [ "$BACKEND" = "lmdeploy" ]; then \ + python3 -m pip install 'qwen-vl-utils>=0.0.14,<1' -i https://mirrors.aliyun.com/pypi/simple; \ + fi && \ python3 -m pip cache purge # Download models and update the configuration file diff --git a/src/rustfs/.env.example b/src/rustfs/.env.example new file mode 100644 index 0000000..3c9f6cf --- /dev/null +++ b/src/rustfs/.env.example @@ -0,0 +1,33 @@ +# RustFS Version (glibc-based image) +RUSTFS_VERSION=1.0.0-beta.8-glibc + +# RustFS Root Credentials +RUSTFS_ACCESS_KEY=rustfsadmin +RUSTFS_SECRET_KEY=rustfsadmin + +# API & Console Addresses +RUSTFS_ADDRESS=0.0.0.0:9000 +RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001 + +# Console +RUSTFS_CONSOLE_ENABLE=true +RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS=* + +# Log Level (info, debug, warn, error) +RUSTFS_OBS_LOGGER_LEVEL=info + +# Disk Check Bypass (set to true for local dev only) +RUSTFS_UNSAFE_BYPASS_DISK_CHECK=false + +# Ports +RUSTFS_PORT_OVERRIDE_API=9000 +RUSTFS_PORT_OVERRIDE_CONSOLE=9001 + +# Timezone +TZ=UTC + +# Resource Limits +RUSTFS_CPU_LIMIT=2.0 +RUSTFS_MEMORY_LIMIT=1G +RUSTFS_CPU_RESERVATION=0.5 +RUSTFS_MEMORY_RESERVATION=512M diff --git a/src/rustfs/README.md b/src/rustfs/README.md new file mode 100644 index 0000000..86eaf51 --- /dev/null +++ b/src/rustfs/README.md @@ -0,0 +1,44 @@ +# RustFS + +[English](./README.md) | [中文](./README.zh.md) + +RustFS is a high-performance, S3-compatible distributed object storage system built in Rust. It is 2.3x faster than MinIO for 4KB object payloads, fully open-source under the Apache 2.0 license, and supports migration and coexistence with other S3-compatible platforms such as MinIO and Ceph. + +Open the Console: . + +## Services + +- `rustfs`: The RustFS object storage service. + +## Quick Start + +```bash +docker compose up -d +``` + +The default credentials are `rustfsadmin` / `rustfsadmin`. The S3 API is available at and the Console at . + +## Configuration + +- `RUSTFS_VERSION`: The version of the RustFS image (glibc-based), default is `1.0.0-beta.8-glibc`. +- `RUSTFS_PORT_OVERRIDE_API`: The host port for the S3 API, default is `9000`. +- `RUSTFS_PORT_OVERRIDE_CONSOLE`: The host port for the Console Web UI, default is `9001`. +- `RUSTFS_ACCESS_KEY`: The root access key, default is `rustfsadmin`. +- `RUSTFS_SECRET_KEY`: The root secret key, default is `rustfsadmin`. +- `RUSTFS_ADDRESS`: The S3 API listen address, default is `0.0.0.0:9000`. +- `RUSTFS_CONSOLE_ADDRESS`: The Console listen address, default is `0.0.0.0:9001`. +- `RUSTFS_CONSOLE_ENABLE`: Enable the Web Console, default is `true`. +- `RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS`: CORS allowed origins for the Console, default is `*`. +- `RUSTFS_OBS_LOGGER_LEVEL`: Log level (`info`, `debug`, `warn`, `error`), default is `info`. +- `RUSTFS_UNSAFE_BYPASS_DISK_CHECK`: Bypass strict disk topology checks (for local dev only), default is `false`. +- `TZ`: Timezone setting, default is `UTC`. + +## Volumes + +- `rustfs_data`: A named volume for storing RustFS object data. + +## Security Notes + +- The container runs as a non-root user (`10001:10001`). If you switch to host bind mounts, ensure the mounted directories are writable by this user. +- The default credentials are `rustfsadmin` / `rustfsadmin`. Change these in production. +- `no-new-privileges:true` is enforced by default. diff --git a/src/rustfs/README.zh.md b/src/rustfs/README.zh.md new file mode 100644 index 0000000..88c6d09 --- /dev/null +++ b/src/rustfs/README.zh.md @@ -0,0 +1,44 @@ +# RustFS + +[English](./README.md) | [中文](./README.zh.md) + +RustFS 是一个高性能、S3 兼容的分布式对象存储系统,使用 Rust 构建。对 4KB 对象负载,它比 MinIO 快 2.3 倍,完全开源(Apache 2.0 许可),并支持与其他 S3 兼容平台(如 MinIO 和 Ceph)的迁移与共存。 + +打开控制台:。 + +## 服务 + +- `rustfs`:RustFS 对象存储服务。 + +## 快速开始 + +```bash +docker compose up -d +``` + +默认凭据为 `rustfsadmin` / `rustfsadmin`。S3 API 地址为 ,控制台地址为 。 + +## 配置 + +- `RUSTFS_VERSION`:RustFS 镜像版本(基于 glibc),默认为 `1.0.0-beta.8-glibc`。 +- `RUSTFS_PORT_OVERRIDE_API`:S3 API 的主机端口,默认为 `9000`。 +- `RUSTFS_PORT_OVERRIDE_CONSOLE`:控制台 Web UI 的主机端口,默认为 `9001`。 +- `RUSTFS_ACCESS_KEY`:根访问密钥,默认为 `rustfsadmin`。 +- `RUSTFS_SECRET_KEY`:根秘密密钥,默认为 `rustfsadmin`。 +- `RUSTFS_ADDRESS`:S3 API 监听地址,默认为 `0.0.0.0:9000`。 +- `RUSTFS_CONSOLE_ADDRESS`:控制台监听地址,默认为 `0.0.0.0:9001`。 +- `RUSTFS_CONSOLE_ENABLE`:是否启用 Web 控制台,默认为 `true`。 +- `RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS`:控制台 CORS 允许的来源,默认为 `*`。 +- `RUSTFS_OBS_LOGGER_LEVEL`:日志级别(`info`、`debug`、`warn`、`error`),默认为 `info`。 +- `RUSTFS_UNSAFE_BYPASS_DISK_CHECK`:跳过严格的磁盘拓扑检查(仅用于本地开发),默认为 `false`。 +- `TZ`:时区设置,默认为 `UTC`。 + +## 存储卷 + +- `rustfs_data`:用于存储 RustFS 对象数据的命名卷。 + +## 安全说明 + +- 容器以非 root 用户(`10001:10001`)运行。如果改用主机绑定挂载,请确保挂载目录对该用户可写。 +- 默认凭据为 `rustfsadmin` / `rustfsadmin`,请在生产环境中更换。 +- 默认启用 `no-new-privileges:true`。 diff --git a/src/rustfs/docker-compose.yaml b/src/rustfs/docker-compose.yaml new file mode 100644 index 0000000..e4ea247 --- /dev/null +++ b/src/rustfs/docker-compose.yaml @@ -0,0 +1,55 @@ +# https://github.com/rustfs/rustfs +x-defaults: &defaults + restart: unless-stopped + logging: + driver: json-file + options: + max-size: 100m + max-file: '3' + +services: + rustfs: + <<: *defaults + image: ${GLOBAL_REGISTRY:-}rustfs/rustfs:${RUSTFS_VERSION:-1.0.0-beta.8-glibc} + ports: + - '${RUSTFS_PORT_OVERRIDE_API:-9000}:9000' + - '${RUSTFS_PORT_OVERRIDE_CONSOLE:-9001}:9001' + environment: + TZ: ${TZ:-UTC} + RUSTFS_ADDRESS: ${RUSTFS_ADDRESS:-0.0.0.0:9000} + RUSTFS_CONSOLE_ADDRESS: ${RUSTFS_CONSOLE_ADDRESS:-0.0.0.0:9001} + RUSTFS_CONSOLE_ENABLE: ${RUSTFS_CONSOLE_ENABLE:-true} + RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS: ${RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS:-*} + RUSTFS_ACCESS_KEY: ${RUSTFS_ACCESS_KEY:-rustfsadmin} + RUSTFS_SECRET_KEY: ${RUSTFS_SECRET_KEY:-rustfsadmin} + RUSTFS_OBS_LOGGER_LEVEL: ${RUSTFS_OBS_LOGGER_LEVEL:-info} + RUSTFS_VOLUMES: /data/rustfs0 + RUSTFS_UNSAFE_BYPASS_DISK_CHECK: ${RUSTFS_UNSAFE_BYPASS_DISK_CHECK:-false} + volumes: + - rustfs_data:/data + user: 10001:10001 + security_opt: + - no-new-privileges:true + healthcheck: + test: + [ + CMD, + sh, + -ec, + "curl -fsS http://127.0.0.1:9000/health && curl -fsS http://127.0.0.1:9001/rustfs/console/health", + ] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + deploy: + resources: + limits: + cpus: ${RUSTFS_CPU_LIMIT:-2.0} + memory: ${RUSTFS_MEMORY_LIMIT:-1G} + reservations: + cpus: ${RUSTFS_CPU_RESERVATION:-0.5} + memory: ${RUSTFS_MEMORY_RESERVATION:-512M} + +volumes: + rustfs_data: diff --git a/src/signoz/.env.example b/src/signoz/.env.example index 5544f23..ec455fd 100644 --- a/src/signoz/.env.example +++ b/src/signoz/.env.example @@ -13,13 +13,13 @@ TZ=UTC SIGNOZ_IMAGE_NAME=signoz/signoz # SigNoz all-in-one backend + frontend + alertmanager version -SIGNOZ_VERSION=v0.125.1 +SIGNOZ_VERSION=v0.131.1 # SigNoz OTel Collector version (also used for migration jobs) -SIGNOZ_OTEL_COLLECTOR_VERSION=v0.144.4 +SIGNOZ_OTEL_COLLECTOR_VERSION=v0.144.5 # ClickHouse version -SIGNOZ_CLICKHOUSE_VERSION=25.5.6 +SIGNOZ_CLICKHOUSE_VERSION=26.4.4 # ZooKeeper version SIGNOZ_ZOOKEEPER_VERSION=3.7.1 diff --git a/src/signoz/README.md b/src/signoz/README.md index 56cdb7f..c2b3403 100644 --- a/src/signoz/README.md +++ b/src/signoz/README.md @@ -17,12 +17,12 @@ SigNoz is an open-source observability platform that provides monitoring and tro | Service | Image | Description | | -------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------ | -| `signoz` | `${SIGNOZ_IMAGE_NAME:-signoz/signoz}:${SIGNOZ_VERSION:-v0.125.1}` | All-in-one backend, frontend UI, and alert manager | -| `otel-collector` | signoz/signoz-otel-collector:v0.144.4 | Receives, processes, and exports telemetry data | -| `clickhouse` | clickhouse/clickhouse-server:25.5.6 | Time-series database for traces, metrics, and logs | +| `signoz` | `${SIGNOZ_IMAGE_NAME:-signoz/signoz}:${SIGNOZ_VERSION:-v0.131.1}` | All-in-one backend, frontend UI, and alert manager | +| `otel-collector` | signoz/signoz-otel-collector:v0.144.5 | Receives, processes, and exports telemetry data | +| `clickhouse` | clickhouse/clickhouse-server:26.4.4 | Time-series database for traces, metrics, and logs | | `zookeeper-1` | signoz/zookeeper:3.7.1 | ZooKeeper for ClickHouse replication metadata | -| `init-clickhouse` | clickhouse/clickhouse-server:25.5.6 | One-shot init that downloads the histogramQuantile UDF | -| `signoz-telemetrystore-migrator` | signoz/signoz-otel-collector:v0.144.4 | One-shot schema migration for ClickHouse | +| `init-clickhouse` | clickhouse/clickhouse-server:26.4.4 | One-shot init that downloads the histogramQuantile UDF | +| `signoz-telemetrystore-migrator` | signoz/signoz-otel-collector:v0.144.5 | One-shot schema migration for ClickHouse | ## Quick Start @@ -62,9 +62,9 @@ SigNoz is an open-source observability platform that provides monitoring and tro | `SIGNOZ_OTEL_GRPC_PORT_OVERRIDE` | `4317` | OTLP gRPC receiver host port | | `SIGNOZ_OTEL_HTTP_PORT_OVERRIDE` | `4318` | OTLP HTTP receiver host port | | `SIGNOZ_IMAGE_NAME` | `signoz/signoz` | SigNoz image repository/name | -| `SIGNOZ_VERSION` | `v0.125.1` | SigNoz image version | -| `SIGNOZ_OTEL_COLLECTOR_VERSION` | `v0.144.4` | OTel Collector image version | -| `SIGNOZ_CLICKHOUSE_VERSION` | `25.5.6` | ClickHouse image version | +| `SIGNOZ_VERSION` | `v0.131.1` | SigNoz image version | +| `SIGNOZ_OTEL_COLLECTOR_VERSION` | `v0.144.5` | OTel Collector image version | +| `SIGNOZ_CLICKHOUSE_VERSION` | `26.4.4` | ClickHouse image version | | `TZ` | `UTC` | Timezone | See `.env.example` for the complete list including resource limits. diff --git a/src/signoz/README.zh.md b/src/signoz/README.zh.md index 4b8ec5d..3b9acdc 100644 --- a/src/signoz/README.zh.md +++ b/src/signoz/README.zh.md @@ -18,11 +18,11 @@ SigNoz 是一个开源的可观测性平台,为分布式应用程序提供监 | 服务 | 镜像 | 描述 | | -------------------------------- | ----------------------------------------------------------------- | ---------------------------------------- | | `signoz` | `${SIGNOZ_IMAGE_NAME:-signoz/signoz}:${SIGNOZ_VERSION:-v0.125.1}` | 后端、前端 UI 和告警管理器的合体镜像 | -| `otel-collector` | signoz/signoz-otel-collector:v0.144.4 | 接收、处理和导出遥测数据 | -| `clickhouse` | clickhouse/clickhouse-server:25.5.6 | 存储追踪、指标和日志的时序数据库 | +| `otel-collector` | signoz/signoz-otel-collector:v0.144.5 | 接收、处理和导出遥测数据 | +| `clickhouse` | clickhouse/clickhouse-server:26.4.4 | 存储追踪、指标和日志的时序数据库 | | `zookeeper-1` | signoz/zookeeper:3.7.1 | ZooKeeper,用于 ClickHouse 副本元数据 | -| `init-clickhouse` | clickhouse/clickhouse-server:25.5.6 | 一次性初始化,下载 histogramQuantile UDF | -| `signoz-telemetrystore-migrator` | signoz/signoz-otel-collector:v0.144.4 | 一次性 ClickHouse Schema 迁移 | +| `init-clickhouse` | clickhouse/clickhouse-server:26.4.4 | 一次性初始化,下载 histogramQuantile UDF | +| `signoz-telemetrystore-migrator` | signoz/signoz-otel-collector:v0.144.5 | 一次性 ClickHouse Schema 迁移 | ## 快速开始 @@ -62,9 +62,9 @@ SigNoz 是一个开源的可观测性平台,为分布式应用程序提供监 | `SIGNOZ_OTEL_GRPC_PORT_OVERRIDE` | `4317` | OTLP gRPC 接收器宿主机端口 | | `SIGNOZ_OTEL_HTTP_PORT_OVERRIDE` | `4318` | OTLP HTTP 接收器宿主机端口 | | `SIGNOZ_IMAGE_NAME` | `signoz/signoz` | SigNoz 镜像仓库名或镜像名 | -| `SIGNOZ_VERSION` | `v0.125.1` | SigNoz 镜像版本 | -| `SIGNOZ_OTEL_COLLECTOR_VERSION` | `v0.144.4` | OTel Collector 镜像版本 | -| `SIGNOZ_CLICKHOUSE_VERSION` | `25.5.6` | ClickHouse 镜像版本 | +| `SIGNOZ_VERSION` | `v0.131.1` | SigNoz 镜像版本 | +| `SIGNOZ_OTEL_COLLECTOR_VERSION` | `v0.144.5` | OTel Collector 镜像版本 | +| `SIGNOZ_CLICKHOUSE_VERSION` | `26.4.4` | ClickHouse 镜像版本 | | `TZ` | `UTC` | 时区 | 完整变量列表(含资源限制)请查看 `.env.example`。 diff --git a/src/signoz/docker-compose.yaml b/src/signoz/docker-compose.yaml index 5686936..c592ec7 100644 --- a/src/signoz/docker-compose.yaml +++ b/src/signoz/docker-compose.yaml @@ -8,7 +8,7 @@ x-defaults: &defaults x-clickhouse-defaults: &clickhouse-defaults <<: *defaults - image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${SIGNOZ_CLICKHOUSE_VERSION:-25.5.6} + image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${SIGNOZ_CLICKHOUSE_VERSION:-26.4.4} depends_on: init-clickhouse: condition: service_completed_successfully @@ -34,7 +34,7 @@ x-db-depend: &db-depend services: # One-shot init: downloads histogramQuantile UDF binary into the shared volume init-clickhouse: - image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${SIGNOZ_CLICKHOUSE_VERSION:-25.5.6} + image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${SIGNOZ_CLICKHOUSE_VERSION:-26.4.4} restart: on-failure logging: driver: json-file @@ -116,7 +116,7 @@ services: # One-shot migration: bootstraps and runs schema migrations signoz-telemetrystore-migrator: <<: *db-depend - image: ${GLOBAL_REGISTRY:-}signoz/signoz-otel-collector:${SIGNOZ_OTEL_COLLECTOR_VERSION:-v0.144.4} + image: ${GLOBAL_REGISTRY:-}signoz/signoz-otel-collector:${SIGNOZ_OTEL_COLLECTOR_VERSION:-v0.144.5} restart: on-failure environment: - TZ=${TZ:-UTC} @@ -140,7 +140,7 @@ services: # SigNoz all-in-one backend + frontend + alertmanager signoz: <<: *db-depend - image: ${GLOBAL_REGISTRY:-}${SIGNOZ_IMAGE_NAME:-signoz/signoz}:${SIGNOZ_VERSION:-v0.125.1} + image: ${GLOBAL_REGISTRY:-}${SIGNOZ_IMAGE_NAME:-signoz/signoz}:${SIGNOZ_VERSION:-v0.131.1} ports: - '${SIGNOZ_PORT_OVERRIDE:-8080}:8080' volumes: @@ -169,7 +169,7 @@ services: # OTel Collector for receiving telemetry data otel-collector: <<: *db-depend - image: ${GLOBAL_REGISTRY:-}signoz/signoz-otel-collector:${SIGNOZ_OTEL_COLLECTOR_VERSION:-v0.144.4} + image: ${GLOBAL_REGISTRY:-}signoz/signoz-otel-collector:${SIGNOZ_OTEL_COLLECTOR_VERSION:-v0.144.5} entrypoint: [/bin/sh] command: - -c