skillhub/docker-compose.yml
X77 a9f5f0efa3 fix(deploy): repoint MinIO runtime image to pgsty/silo
quay.io/minio/minio returns 401 Unauthorized for anonymous pulls on every
tag, so PR E2E (Real Services) and the Helm S3 smoke test fail before any
test runs. MinIO deleted minio/minio from Docker Hub on 2026-09-11 and
quay.io started requiring authentication on 2026-09-24.

Repoint the three runtime surfaces to pgsty/silo, a maintained MinIO fork
(AGPLv3 - same license as the image currently in use). It is a drop-in:
identical env vars, ports and command. Verified on a GitHub Actions runner
with SkillHub's exact configuration (health endpoints 200, S3 round trip
mb/put/get/ls/rb all pass).

- docker-compose.yml
- deploy/runtime-mirror-images.txt
- charts/skillhub/tests/install-upgrade-smoke.sh

Signed-off-by: X77 <1494159925@qq.com>
2026-10-08 10:51:33 +08:00

62 lines
1.7 KiB
YAML

services:
skill-scanner:
build: ./scanner
ports:
- "8000:8000"
environment:
SKILL_SCANNER_LLM_API_KEY: ${SKILL_SCANNER_LLM_API_KEY:-}
SKILL_SCANNER_LLM_BASE_URL: ${SKILL_SCANNER_LLM_BASE_URL:-}
SKILL_SCANNER_LLM_MODEL: ${SKILL_SCANNER_LLM_MODEL:-}
SKILLHUB_SCANNER_MAX_UPLOAD_SIZE_BYTES: ${SKILLHUB_SCANNER_MAX_UPLOAD_SIZE_BYTES:-110100480}
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=2).read()"]
interval: 10s
timeout: 5s
retries: 5
postgres:
image: ${POSTGRES_IMAGE:-postgres:16-alpine}
ports:
- "5432:5432"
environment:
POSTGRES_DB: skillhub
POSTGRES_USER: skillhub
POSTGRES_PASSWORD: skillhub_dev
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U skillhub"]
interval: 5s
timeout: 5s
retries: 5
redis:
image: ${REDIS_IMAGE:-redis:7-alpine}
ports:
- "127.0.0.1:6379:6379"
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 5s
retries: 5
minio:
image: ${MINIO_IMAGE:-docker.io/pgsty/silo:RELEASE.2026-09-16T00-00-00Z}
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
command: server /data --console-address ":9001"
volumes:
- minio_data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 5s
timeout: 5s
retries: 5
volumes:
postgres_data:
minio_data: