freelawproject/courtlistenerCourtListener Docker镜像是基于CourtListener平台构建的容器化部署方案,旨在提供一个便捷、可移植的方式运行CourtListener系统。CourtListener是一个致力于提升系统透明度与可访问性的开源平台,通过聚合、索引和展示公开数据,帮助用户高效获取法院案例、文书及相关信息。该镜像封装了CourtListener应用程序及其依赖组件,简化了部署流程,适用于各类需要快速搭建***信息检索与分析环境的场景。
拉取镜像
从Docker Hub或私有仓库拉取CourtListener镜像:
bashdocker pull courtlistener/courtlistener:latest # 官方镜像示例
运行容器
通过docker run命令启动容器,指定必要配置(端口、环境变量等):
bashdocker run -d \ --name courtlistener \ -p 8000:8000 \ -e DATABASE_URL="postgresql://user:password@db-host:5432/courtlistener" \ -e SECRET_KEY="your-secure-secret-key" \ -v ./data:/app/data \ courtlistener/courtlistener:latest
访问服务
容器启动后,通过http://localhost:8000访问CourtListener Web界面,或通过http://localhost:8000/api调用API。
适用于本地测试或单节点轻量部署:
bashdocker run -d \ --name courtlistener \ --restart always \ -p 8000:8000 \ # Web界面与API端口 -p 5000:5000 \ # 数据同步服务端口(若启用) -e DATABASE_URL="postgresql://courtlistener:pass@postgres:5432/courtlistener" \ # 外部PostgreSQL数据库 -e SECRET_KEY="AeSh3klo9xQz2pRt" \ # 应用加密密钥(必填,建议自定义) -e API_RATE_LIMIT="100/minute" \ # API请求频率限制 -e LOG_LEVEL="INFO" \ # 日志级别(DEBUG/INFO/WARNING/ERROR) -v courtlistener_data:/app/data \ # 持久化数据目录(案例缓存、用户上传文件等) courtlistener/courtlistener:latest
适用于生产环境,集成数据库、缓存等依赖组件:
yamlversion: '3.8' services: courtlistener: image: courtlistener/courtlistener:latest container_name: courtlistener restart: always ports: - "8000:8000" # Web/API端口 - "5000:5000" # 数据同步端口 environment: - DATABASE_URL="postgresql://courtlistener:pass@postgres:5432/courtlistener" - SECRET_KEY="your-secure-secret-key" # 替换为随机生成的安全密钥 - REDIS_URL="redis://redis:6379/0" # Redis缓存地址 - API_KEY="your-api-key" # 第三方数据源API密钥(如需要) - LOG_LEVEL="INFO" - ALLOWED_HOSTS="localhost,your-domain.com" # 允许访问的域名 volumes: - courtlistener_data:/app/data # 数据持久化 depends_on: - postgres - redis postgres: image: postgres:14-alpine container_name: courtlistener-db restart: always environment: - POSTGRES_USER=courtlistener - POSTGRES_PASSWORD=pass - POSTGRES_DB=courtlistener volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:alpine container_name: courtlistener-redis restart: always volumes: - redis_data:/data volumes: courtlistener_data: postgres_data: redis_data:
启动部署:
bashdocker-compose up -d # 后台启动所有服务 docker-compose logs -f # 查看实时日志
| 环境变量名 | 作用描述 | 默认值 | 是否必需 |
|---|---|---|---|
DATABASE_URL | 数据库连接地址(PostgreSQL) | 无 | 是 |
SECRET_KEY | Django应用加密密钥(用于会话、CSRF等) | 无 | 是 |
REDIS_URL | Redis缓存连接地址(可选,用于性能优化) | redis://localhost:6379 | 否 |
API_KEY | 第三方数据源API密钥(如法院数据接口) | 无 | 否 |
LOG_LEVEL | 日志输出级别 | INFO | 否 |
ALLOWED_HOSTS | Web服务允许访问的域名列表 | localhost,127.0.0.1 | 否 |
DATA_SYNC_INTERVAL | 数据自动同步间隔(分钟) | 1440(24小时) | 否 |
/app/data(存储案例缓存、用户上传文件、日志等),建议通过-v挂载宿主机目录或Docker Volume持久化。8000/tcp:Web界面与API服务端口(必需映射)。5000/tcp:数据同步服务端口(仅需映射若需外部触发同步)。SECRET_KEY需使用强随机字符串,生产环境建议通过Docker Secrets或环境变量文件注入,避免明文暴露。DATA_SYNC_INTERVAL减少资源占用。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务