add docker-compose.yml for one-click deployment

This commit is contained in:
2026-05-18 05:28:23 +08:00
parent da5bd01535
commit 48d6b642e0

View File

@@ -0,0 +1,87 @@
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