File size: 552 Bytes
7c9ac02
8cd3fa7
 
 
 
 
75c1656
8cd3fa7
 
 
 
 
47a298a
8cd3fa7
 
 
47a298a
8cd3fa7
 
47a298a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
FROM python:3.12

WORKDIR /app

# Copy dependency file first for layer caching
COPY server/requirements.txt ./requirements.txt
RUN pip install --no-cache-dir --timeout 120 -r requirements.txt

# Copy full package
COPY . .

# Expose port
EXPOSE 8000

# Liveness probe — validator checks this
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
  CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"

# Start server
CMD ["uvicorn", "server.app:app", "--host", "0.0.0.0", "--port", "8000"]