feat: add rustfs
This commit is contained in:
@@ -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
|
||||
@@ -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: <http://localhost:9001>.
|
||||
|
||||
## 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 <http://localhost:9000> and the Console at <http://localhost:9001>.
|
||||
|
||||
## 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.
|
||||
@@ -0,0 +1,44 @@
|
||||
# RustFS
|
||||
|
||||
[English](./README.md) | [中文](./README.zh.md)
|
||||
|
||||
RustFS 是一个高性能、S3 兼容的分布式对象存储系统,使用 Rust 构建。对 4KB 对象负载,它比 MinIO 快 2.3 倍,完全开源(Apache 2.0 许可),并支持与其他 S3 兼容平台(如 MinIO 和 Ceph)的迁移与共存。
|
||||
|
||||
打开控制台:<http://localhost:9001>。
|
||||
|
||||
## 服务
|
||||
|
||||
- `rustfs`:RustFS 对象存储服务。
|
||||
|
||||
## 快速开始
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
默认凭据为 `rustfsadmin` / `rustfsadmin`。S3 API 地址为 <http://localhost:9000>,控制台地址为 <http://localhost:9001>。
|
||||
|
||||
## 配置
|
||||
|
||||
- `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`。
|
||||
@@ -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:
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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`。
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user