Files
rustfs-s3-toolkit/docker/docker-compose.yml

88 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
version: "3.9"
services:
# -------- RustFS 主服务 --------
rustfs:
image: rustfs/rustfs:1.0.0-alpha.60
container_name: rustfs
restart: unless-stopped
volumes:
- /vol2/1000/rustfs_vol2:/data
- ./data:/app/data:rw
environment:
RUSTFS_VOLUMES: /data/rustfs0
RUSTFS_ADDRESS: ":9000"
RUSTFS_SERVER_DOMAINS: rfs.jmsu.top
RUSTFS_ACCESS_KEY: ${RUSTFS_ACCESS_KEY}
RUSTFS_SECRET_KEY: ${RUSTFS_SECRET_KEY}
RUSTFS_CONSOLE_ENABLE: "true"
# **仅绑定到本机 Tailscale IP**,供云端 Traefik 反代
ports:
- "${LOCAL_TS_IP}:9000:9000"
# -------- RustFS MCP 接口(假设走 HTTP on :9009--------
rustfs-s3-toolkit:
image: hotwa/rustfs-s3-toolkit:latest
container_name: rustfs-mcp
restart: unless-stopped
environment:
MCP_PORT: "9009"
volumes:
- ./data:/app/data:rw
ports:
- "${LOCAL_TS_IP}:9009:9009"
# -------- Registrar把 :9000 注册到 rfs.jmsu.top --------
registrar-rustfs:
image: hashicorp/consul:1.21
container_name: registrar-rustfs
restart: unless-stopped
depends_on:
- rustfs
volumes:
- ./registrar.sh:/registrar.sh:ro
environment:
# 指向“云端” Consul Server通过 Tailscale
CONSUL_HTTP_ADDR: "http://${CONSUL_SERVER_IP}:8500"
# 下面这 4 个由 registrar.sh 必填
SERVICE_NAME: "rustfs"
SERVICE_ADDR: "${LOCAL_TS_IP}"
SERVICE_PORT: "9000"
ROUTE_HOST: "rfs.jmsu.top"
# 可选项HTTP/TCP、健康检查、入口等
SERVICE_PROTOCOL: "http"
CHECK_TYPE: "http"
CHECK_PATH: "/"
CHECK_INTERVAL: "10s"
CHECK_TIMEOUT: "2s"
DEREG_AFTER: "1m"
TRAEFIK_HTTP_ENTRYPOINT: "websecure"
TRAEFIK_TCP_ENTRYPOINT: "tcp"
# TRAEFIK_CERT_RESOLVER 可在云端用 file/dynamic 统一配置,这里不强制
command: ["/bin/sh","/registrar.sh"]
# -------- Registrar把 :9009 注册到 mcprfs.jmsu.top --------
registrar-mcprfs:
image: hashicorp/consul:1.21
container_name: registrar-mcprfs
restart: unless-stopped
depends_on:
- rustfs-s3-toolkit
volumes:
- ./registrar.sh:/registrar.sh:ro
environment:
CONSUL_HTTP_ADDR: "http://${CONSUL_SERVER_IP}:8500"
SERVICE_NAME: "mcprfs"
SERVICE_ADDR: "${LOCAL_TS_IP}"
SERVICE_PORT: "9009"
ROUTE_HOST: "mcprfs.jmsu.top"
SERVICE_PROTOCOL: "http" # 如果 MCP 走 TCP请改成 "tcp" 并把 CHECK_TYPE 改为 tcp
CHECK_TYPE: "http"
CHECK_PATH: "/"
CHECK_INTERVAL: "10s"
CHECK_TIMEOUT: "2s"
DEREG_AFTER: "1m"
TRAEFIK_HTTP_ENTRYPOINT: "websecure"
TRAEFIK_TCP_ENTRYPOINT: "tcp"
command: ["/bin/sh","/registrar.sh"]