88 lines
2.2 KiB
YAML
88 lines
2.2 KiB
YAML
name: cloudsearch
|
|
services:
|
|
# ==================== CloudSearch 主应用 ====================
|
|
app:
|
|
image: gitea.timxx.cn/admin/cloudsearch:latest
|
|
container_name: CloudSearch_App
|
|
restart: unless-stopped
|
|
ports:
|
|
- "9527:9527"
|
|
environment:
|
|
# ── 必填 ──
|
|
CORS_ORIGIN: "https://your-domain.com" # 改为你的域名
|
|
JWT_SECRET: "change-me-to-a-random-string"
|
|
ADMIN_PASSWORD: "change-me"
|
|
# ── 可选(有默认值)──
|
|
LOG_LEVEL: "info"
|
|
UPLOAD_DIR: "/app/data"
|
|
APP_VERSION_FILE: "/app/VERSION"
|
|
REDIS_URL: "redis://redis:6379"
|
|
PANSOU_URL: "http://pansou:8888"
|
|
PANSOU_AUTH_TOKEN: ""
|
|
VALIDATION_CONCURRENCY: "10"
|
|
VALIDATION_TIMEOUT: "5000"
|
|
CACHE_TTL_VALID: "14400"
|
|
CACHE_TTL_INVALID: "3600"
|
|
volumes:
|
|
- cloudsearch-data:/app/data
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
pansou:
|
|
condition: service_healthy
|
|
networks:
|
|
- cloudsearch-net
|
|
|
|
# ==================== PanSou 搜索源 ====================
|
|
pansou:
|
|
image: ghcr.io/fish2018/pansou-web:latest
|
|
container_name: CloudSearch_PanSou
|
|
restart: unless-stopped
|
|
environment:
|
|
DOMAIN: "localhost"
|
|
PANSOU_PORT: "8888"
|
|
PANSOU_HOST: "0.0.0.0"
|
|
CACHE_TTL: "60"
|
|
CACHE_ENABLED: "true"
|
|
MAX_CONCURRENCY: "200"
|
|
MAX_PAGES: "30"
|
|
TZ: "Asia/Shanghai"
|
|
volumes:
|
|
- pansou-cache:/app/data/cache
|
|
- pansou-logs:/app/data/logs
|
|
networks:
|
|
cloudsearch-net:
|
|
aliases:
|
|
- pansou
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8888/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
# ==================== Redis 缓存 ====================
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: CloudSearch_Redis
|
|
restart: unless-stopped
|
|
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
|
|
volumes:
|
|
- redis-data:/data
|
|
networks:
|
|
- cloudsearch-net
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
volumes:
|
|
cloudsearch-data:
|
|
pansou-cache:
|
|
pansou-logs:
|
|
redis-data:
|
|
|
|
networks:
|
|
cloudsearch-net:
|
|
driver: bridge
|