Spaces:
Sleeping
Sleeping
| FROM ghcr.io/chenyme/grok2api:latest | |
| ENV TZ=Asia/Shanghai \ | |
| LOG_LEVEL=DEBUG \ | |
| SERVER_PORT=8000 | |
| # 确保工作目录存在 | |
| WORKDIR /app | |
| # 重新安装所有依赖(从 pyproject.toml) | |
| RUN if [ -f /opt/venv/bin/activate ]; then \ | |
| . /opt/venv/bin/activate && \ | |
| if [ -f pyproject.toml ]; then \ | |
| pip install --no-cache-dir -e .; \ | |
| else \ | |
| pip install --no-cache-dir \ | |
| "aiofiles>=25.1.0" \ | |
| "aiohttp>=3.13.3" \ | |
| "aiohttp-socks>=0.11.0" \ | |
| "aiomysql>=0.2.0" \ | |
| "asyncpg>=0.31.0" \ | |
| "cryptography>=46.0.5" \ | |
| "curl-cffi>=0.13.0" \ | |
| "fastapi>=0.119.0" \ | |
| "granian>=2.7.2" \ | |
| "greenlet>=3.3.1" \ | |
| "livekit>=1.0.25" \ | |
| "loguru>=0.7.3" \ | |
| "orjson>=3.11.4" \ | |
| "python-dotenv>=1.0.0" \ | |
| "python-multipart>=0.0.21" \ | |
| "redis>=6.4.0" \ | |
| "sqlalchemy>=2.0.46" \ | |
| "websockets>=16.0" \ | |
| "uvicorn"; \ | |
| fi \ | |
| else \ | |
| if [ -f pyproject.toml ]; then \ | |
| pip3 install --no-cache-dir -e . || pip install --no-cache-dir -e .; \ | |
| else \ | |
| pip3 install --no-cache-dir \ | |
| "aiofiles>=25.1.0" \ | |
| "aiohttp>=3.13.3" \ | |
| "aiohttp-socks>=0.11.0" \ | |
| "aiomysql>=0.2.0" \ | |
| "asyncpg>=0.31.0" \ | |
| "cryptography>=46.0.5" \ | |
| "curl-cffi>=0.13.0" \ | |
| "fastapi>=0.119.0" \ | |
| "granian>=2.7.2" \ | |
| "greenlet>=3.3.1" \ | |
| "livekit>=1.0.25" \ | |
| "loguru>=0.7.3" \ | |
| "orjson>=3.11.4" \ | |
| "python-dotenv>=1.0.0" \ | |
| "python-multipart>=0.0.21" \ | |
| "redis>=6.4.0" \ | |
| "sqlalchemy>=2.0.46" \ | |
| "websockets>=16.0" \ | |
| "uvicorn" || \ | |
| pip install --no-cache-dir \ | |
| "aiofiles>=25.1.0" \ | |
| "aiohttp>=3.13.3" \ | |
| "aiohttp-socks>=0.11.0" \ | |
| "aiomysql>=0.2.0" \ | |
| "asyncpg>=0.31.0" \ | |
| "cryptography>=46.0.5" \ | |
| "curl-cffi>=0.13.0" \ | |
| "fastapi>=0.119.0" \ | |
| "granian>=2.7.2" \ | |
| "greenlet>=3.3.1" \ | |
| "livekit>=1.0.25" \ | |
| "loguru>=0.7.3" \ | |
| "orjson>=3.11.4" \ | |
| "python-dotenv>=1.0.0" \ | |
| "python-multipart>=0.0.21" \ | |
| "redis>=6.4.0" \ | |
| "sqlalchemy>=2.0.46" \ | |
| "websockets>=16.0" \ | |
| "uvicorn"; \ | |
| fi \ | |
| fi | |
| # 创建必要的目录 | |
| RUN mkdir -p /app/data /app/logs && chmod -R 777 /app/data /app/logs | |
| # 拷入并强制转换格式(解决 Windows 换行符导致的找不到文件报错) | |
| COPY entrypoint.sh /entrypoint.sh | |
| RUN sed -i 's/\r$//' /entrypoint.sh && chmod +x /entrypoint.sh | |
| # 验证文件是否存在 | |
| RUN ls -la /entrypoint.sh && head -1 /entrypoint.sh | |
| EXPOSE 8000 | |
| # 使用 shell 形式的 CMD,更兼容 | |
| CMD ["/bin/sh", "/entrypoint.sh"] | |