Netdata.cloud bot for Zulip
at main 885 B view raw
1FROM python:3.11-slim 2 3# Install system dependencies 4RUN apt-get update && apt-get install -y \ 5 curl \ 6 ca-certificates \ 7 && rm -rf /var/lib/apt/lists/* 8 9# Install uv 10RUN curl -LsSf https://astral.sh/uv/install.sh | sh 11ENV PATH="/root/.local/bin:$PATH" 12 13# Set working directory 14WORKDIR /app 15 16# Copy project files 17COPY pyproject.toml ./ 18COPY netdata_zulip_bot/ ./netdata_zulip_bot/ 19COPY README.md ./ 20 21# Install dependencies 22RUN uv sync --frozen 23 24# Create non-root user 25RUN useradd --create-home --shell /bin/bash netdata-bot 26USER netdata-bot 27 28# Expose HTTPS port 29EXPOSE 8443 30 31# Set environment variables 32ENV PYTHONPATH=/app 33ENV SERVER_HOST=0.0.0.0 34ENV SERVER_PORT=8443 35 36# Health check 37HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ 38 CMD curl -k -f https://localhost:8443/health || exit 1 39 40# Run the application 41CMD [".venv/bin/netdata-zulip-bot"]