# Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. # Multi-stage build using openenv-base # This Dockerfile is flexible and works for both: # - In-repo environments (with local OpenEnv sources) # - Standalone environments (with openenv from PyPI/Git) # The build script (openenv build) handles context detection and sets appropriate build args. FROM python:3.11-slim WORKDIR /app # Install system deps RUN apt-get update && \ apt-get install -y --no-install-recommends curl && \ rm -rf /var/lib/apt/lists/* # Copy code COPY . /app # Install Python deps RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir . # Set env ENV PYTHONPATH="/app" ENV ENABLE_WEB_INTERFACE=true # Expose port EXPOSE 8000 # Health check HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD curl -f http://localhost:8000/health || exit 1 # Run server CMD ["uvicorn", "server.app:app", "--host", "0.0.0.0", "--port", "8000"]