Files
p5g-marvis/Dockerfile
2026-04-24 14:15:58 -04:00

44 lines
1.4 KiB
Docker

FROM docker.io/library/python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN apt-get update && apt-get install -y --no-install-recommends \
docker.io \
podman \
&& rm -rf /var/lib/apt/lists/* \
&& pip install --no-cache-dir -r requirements.txt
RUN mkdir -p /app/data
COPY app/ ./app/
COPY config/ ./config/
EXPOSE 8100 5514
# Appliance-style defaults for host-network deployment. Override via env or
# systemd EnvironmentFile when needed.
ENV MARVIS_PROMETHEUS_URL=http://127.0.0.1:9090
ENV MARVIS_PROMETHEUS_PREFIX=/prometheus
ENV MARVIS_ALERTMANAGER_URL=http://127.0.0.1:9093
ENV MARVIS_LOG_INGEST_ENABLED=true
ENV MARVIS_LOG_AUTO_CONFIGURE=true
ENV MARVIS_LOG_RECEIVER_BIND_HOST=0.0.0.0
ENV MARVIS_LOG_RECEIVER_PORT=5514
ENV MARVIS_LOG_RECEIVER_FORMAT=json_lines
ENV MARVIS_LOG_BUFFER_LINES=1000
ENV MARVIS_LOG_TRACE_BUFFER_LINES=5000
ENV MARVIS_LOG_ALERT_CONTEXT_BEFORE=5
ENV MARVIS_LOG_ALERT_CONTEXT_AFTER=5
ENV MARVIS_LOG_ALERT_CONTEXT_DB_PATH=/app/data/marvis-alert-context.db
ENV MARVIS_LOG_ALERT_CONTEXT_DB_MAX_ROWS=500
ENV MARVIS_LOG_FLUENTBIT_MATCH=*
ENV MARVIS_AI_MODE=rule
ENV MARVIS_CONTAINER_RUNTIME=docker
ENV MARVIS_UERANSIM_ENV_FILE=/app/config/ueransim.env
# MARVIS_AI_MODE=openai → set MARVIS_OPENAI_API_KEY
# MARVIS_AI_MODE=ollama → set MARVIS_OLLAMA_URL + MARVIS_OLLAMA_MODEL
CMD ["python", "-m", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8100"]