All checks were successful
Build & Deploy Shannon / 🏗️ Build & Deploy Shannon (push) Successful in 3m1s
- Implemented bandwidth sensitivity and power sensitivity plots. - Created a contour map for bit rate multiplying factors. - Added input parameters for C/N and bandwidth with validation. - Displayed computed results and sensitivity analysis metrics. - Integrated interactive graphs for user exploration. - Included background information section for user guidance.
37 lines
861 B
Docker
37 lines
861 B
Docker
FROM python:3.11-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Install system dependencies (gcc for build, curl for healthcheck)
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends gcc curl && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Python dependencies
|
|
COPY requirements.txt ./
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Copy application
|
|
COPY .streamlit/ .streamlit/
|
|
COPY core/ core/
|
|
COPY views/ views/
|
|
COPY app.py .
|
|
COPY Shannon.png .
|
|
COPY Satellite.png .
|
|
|
|
# Create data directory for SQLite databases
|
|
RUN mkdir -p /app/data
|
|
|
|
# Expose Streamlit port
|
|
EXPOSE 8080
|
|
|
|
# Health check
|
|
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
|
|
CMD curl -f http://localhost:8080/_stcore/health || exit 1
|
|
|
|
# Run Streamlit
|
|
ENTRYPOINT ["streamlit", "run", "app.py", \
|
|
"--server.port=8080", \
|
|
"--server.address=0.0.0.0", \
|
|
"--server.headless=true"]
|