Anirudh Esthuri commited on
Commit
a56dead
·
1 Parent(s): 02cf54d

Fix: Use PORT env var from Hugging Face Spaces instead of hardcoding port

Browse files
Files changed (4) hide show
  1. .streamlit/config.toml +0 -1
  2. ALL_FILES_CONTENT.txt +3 -0
  3. Dockerfile +6 -6
  4. app.py +4 -2
.streamlit/config.toml CHANGED
@@ -1,5 +1,4 @@
1
  [server]
2
- port = 7860
3
  address = "0.0.0.0"
4
  headless = true
5
  enableCORS = false
 
1
  [server]
 
2
  address = "0.0.0.0"
3
  headless = true
4
  enableCORS = false
ALL_FILES_CONTENT.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+
2
+
3
+
Dockerfile CHANGED
@@ -34,17 +34,17 @@ COPY assets/ ./assets/
34
  COPY .streamlit/ .streamlit/
35
 
36
  # Set environment variables for Streamlit
37
- ENV STREAMLIT_SERVER_PORT=7860
38
  ENV STREAMLIT_SERVER_ADDRESS=0.0.0.0
39
  ENV STREAMLIT_SERVER_HEADLESS=true
40
  ENV STREAMLIT_BROWSER_GATHER_USAGE_STATS=false
41
 
42
- # Expose port 7860 (required for Hugging Face Spaces)
 
43
  EXPOSE 7860
44
 
45
- # Health check
46
  HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
47
- CMD curl --fail http://localhost:7860/_stcore/health || exit 1
48
 
49
- # Run Streamlit app
50
- CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0", "--server.headless=true"]
 
34
  COPY .streamlit/ .streamlit/
35
 
36
  # Set environment variables for Streamlit
 
37
  ENV STREAMLIT_SERVER_ADDRESS=0.0.0.0
38
  ENV STREAMLIT_SERVER_HEADLESS=true
39
  ENV STREAMLIT_BROWSER_GATHER_USAGE_STATS=false
40
 
41
+ # HuggingFace Spaces provides $PORT environment variable
42
+ # Expose port (will be set by Hugging Face Spaces)
43
  EXPOSE 7860
44
 
45
+ # Health check (uses PORT env var)
46
  HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
47
+ CMD curl --fail http://localhost:${PORT:-7860}/_stcore/health || exit 1
48
 
49
+ # Run Streamlit app using PORT env var from Hugging Face Spaces
50
+ CMD ["bash", "-c", "streamlit run app.py --server.address=0.0.0.0 --server.port=${PORT:-7860} --server.headless=true"]
app.py CHANGED
@@ -6,8 +6,10 @@ from gateway_client import delete_profile, ingest_and_rewrite
6
  from llm import chat, set_model
7
  from model_config import MODEL_CHOICES, MODEL_TO_PROVIDER
8
 
9
- # Configure Streamlit for Hugging Face Spaces (port 7860)
10
- os.environ["STREAMLIT_SERVER_PORT"] = "7860"
 
 
11
  os.environ["STREAMLIT_SERVER_ADDRESS"] = "0.0.0.0"
12
 
13
 
 
6
  from llm import chat, set_model
7
  from model_config import MODEL_CHOICES, MODEL_TO_PROVIDER
8
 
9
+ # Configure Streamlit for Hugging Face Spaces
10
+ # Use PORT env var if provided (Hugging Face Spaces sets this), otherwise default to 7860
11
+ port = os.getenv("PORT", "7860")
12
+ os.environ["STREAMLIT_SERVER_PORT"] = port
13
  os.environ["STREAMLIT_SERVER_ADDRESS"] = "0.0.0.0"
14
 
15