modify: 清除diskcache依赖
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
# Redis / PostgreSQL / MinIO / Mosquitto(MQTT) / Zenoh Router / Caddy 服务 Compose 配置
|
||||
# 数据目录: ./data/{redis,postgres,minio,mosquitto,zenoh,caddy} (相对本文件所在目录,持久化)
|
||||
# 默认端口: redis 6379, postgres 5432, minio 9000/9001,
|
||||
# mosquitto 1883, zenoh router 7447(tcp)/7447(udp)/8000,
|
||||
# caddy 80/443(HTTP/HTTPS 统一入口)
|
||||
services:
|
||||
redis:
|
||||
image: docker.io/library/redis:7-alpine
|
||||
container_name: chongming-redis
|
||||
restart: unless-stopped
|
||||
command: redis-server --appendonly yes
|
||||
ports:
|
||||
- "6379:6379"
|
||||
volumes:
|
||||
- ./data/redis:/data
|
||||
healthcheck:
|
||||
test: [ "CMD", "redis-cli", "ping" ]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
|
||||
postgres:
|
||||
image: docker.io/library/postgres:16-alpine
|
||||
container_name: chongming-postgres
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_USER: ${POSTGRES_USER}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
POSTGRES_DB: ${POSTGRES_DB}
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- ./data/postgres:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}" ]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
|
||||
minio:
|
||||
image: docker.io/minio/minio:latest
|
||||
container_name: chongming-minio
|
||||
restart: unless-stopped
|
||||
command: server /data --console-address ":9001"
|
||||
environment:
|
||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
||||
ports:
|
||||
- "9000:9000" # S3 API
|
||||
- "9001:9001" # Web Console
|
||||
volumes:
|
||||
- ./data/minio:/data
|
||||
healthcheck:
|
||||
test: [ "CMD", "mc", "ready", "local" ]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
|
||||
# MQTT Broker —— 项目默认内嵌 amqtt,若要切换为外部 broker,
|
||||
# 需把 config.toml 的 [development.mqtt].use_embedded_broker 置为 false
|
||||
# 并指向宿主 1883(如 host = "127.0.0.1")。
|
||||
mosquitto:
|
||||
image: docker.io/library/eclipse-mosquitto:2
|
||||
container_name: chongming-mosquitto
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "1883:1883" # MQTT
|
||||
volumes:
|
||||
# 官方镜像默认要求 /mosquitto/config/mosquitto.conf 存在;
|
||||
# 匿名 + 不持久化时,改用镜像自带的空配置文件即可。
|
||||
- ./data/mosquitto:/mosquitto
|
||||
environment:
|
||||
# 匿名启动,无需授权;如需账号可在 config/mosquitto.conf 中配置
|
||||
- MOSQUITTO_DISABLE_TLS=true
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "pkill -0 $$(pgrep mosquitto) || exit 1" ]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
# Zenoh Router —— 项目 zenoh 以 peer 模式连接 tcp/127.0.0.1:7447,
|
||||
# 本容器作为 router 在 7447(tcp) 提供路由汇聚。
|
||||
zenoh:
|
||||
image: docker.io/eclipse/zenoh:latest
|
||||
container_name: chongming-zenoh
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "7447:7447/tcp" # Zenoh 数据面
|
||||
- "7447:7447/udp" # Zenoh scouting
|
||||
# 使用镜像默认入口即可:eclipse/zenoh 默认以 router 模式启动 zenohd,
|
||||
# 监听默认端口(7447 tcp/udp、8000)。旧写法硬编码 /usr/local/bin/zenohd
|
||||
# 在 latest 镜像中路径不存在,会报 exec: no such file or directory。
|
||||
healthcheck:
|
||||
test: [ "CMD", "zenohd", "--help" ]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
# Caddy —— 统一 HTTP/HTTPS 反向代理入口(本地 IP + 自签证书)
|
||||
# 反代: chongming Web(8000, 宿主机) / MinIO Console(9001) / MinIO API(9000)
|
||||
# 配置在 ./caddy/Caddyfile,证书状态持久化于 ./data/caddy
|
||||
caddy:
|
||||
image: docker.io/library/caddy:2-alpine
|
||||
container_name: chongming-caddy
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "443:443/udp" # HTTP/3 (QUIC, 可选)
|
||||
volumes:
|
||||
- ./caddy/Caddyfile:/etc/caddy/Caddyfile:ro
|
||||
- ./data/caddy:/data # 自签证书 / ACME 状态持久化
|
||||
- ./data/caddy/config:/config
|
||||
extra_hosts:
|
||||
# Linux 下从容器访问宿主机(反代 systemd 托管的 chongming:8000)
|
||||
- "host.docker.internal:host-gateway"
|
||||
depends_on:
|
||||
- minio
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "wget -qO- http://127.0.0.1:80 >/dev/null 2>&1 || exit 1" ]
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
Reference in New Issue
Block a user