mirror of
https://github.com/iflytek/skillhub.git
synced 2026-11-13 08:55:11 +00:00
49 lines
1.7 KiB
YAML
49 lines
1.7 KiB
YAML
# Optional single-node storage. Select exactly one overlay with scripts/storage-compose.sh.
|
|
services:
|
|
object-storage-permissions:
|
|
image: ${RUSTFS_IMAGE:-docker.io/rustfs/rustfs:1.0.3@sha256:9ca9559533b537d10482fe923288b676ad08f92a7069d9a17327fbae3cab688b}
|
|
user: "0:0"
|
|
entrypoint: ["chown", "10001:10001", "/data"]
|
|
restart: "no"
|
|
network_mode: none
|
|
read_only: true
|
|
cap_drop: [ALL]
|
|
cap_add: [CHOWN]
|
|
volumes:
|
|
- rustfs_data:/data
|
|
|
|
object-storage:
|
|
image: ${RUSTFS_IMAGE:-docker.io/rustfs/rustfs:1.0.3@sha256:9ca9559533b537d10482fe923288b676ad08f92a7069d9a17327fbae3cab688b}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
object-storage-permissions:
|
|
condition: service_completed_successfully
|
|
environment:
|
|
RUSTFS_ACCESS_KEY: ${SKILLHUB_OBJECT_STORAGE_ROOT_USER:?Set storage administrator user}
|
|
RUSTFS_SECRET_KEY: ${SKILLHUB_OBJECT_STORAGE_ROOT_PASSWORD:?Set storage administrator password}
|
|
RUSTFS_ADDRESS: ":9000"
|
|
RUSTFS_CONSOLE_ADDRESS: ":9001"
|
|
ports:
|
|
- "${OBJECT_STORAGE_BIND_ADDRESS:-127.0.0.1}:${OBJECT_STORAGE_API_PORT:-9000}:9000"
|
|
- "${OBJECT_STORAGE_BIND_ADDRESS:-127.0.0.1}:${OBJECT_STORAGE_CONSOLE_PORT:-9001}:9001"
|
|
volumes:
|
|
- rustfs_data:/data
|
|
healthcheck:
|
|
test: ["CMD", "curl", "--fail", "--silent", "--max-time", "3", "http://127.0.0.1:9000/health"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 20
|
|
start_period: 15s
|
|
|
|
server:
|
|
environment:
|
|
SKILLHUB_STORAGE_PROVIDER: s3
|
|
SKILLHUB_STORAGE_S3_ENDPOINT: http://object-storage:9000
|
|
SKILLHUB_STORAGE_S3_FORCE_PATH_STYLE: "true"
|
|
SKILLHUB_STORAGE_S3_AUTO_CREATE_BUCKET: "false"
|
|
depends_on:
|
|
object-storage:
|
|
condition: service_healthy
|
|
|
|
volumes:
|
|
rustfs_data:
|