FROM ubuntu:22.04

# Установка системных зависимостей и FRR
RUN apt-get update && apt-get install -y \
    frr \
    frr-pythontools \
    python3 \
    python3-pip \
    iproute2 \
    iputils-ping \
    net-tools \
    procps \
    vim \
    curl \
    && rm -rf /var/lib/apt/lists/*

# Установка Python зависимостей
RUN pip3 install watchdog

# Создание структуры директорий
RUN mkdir -p /app/scripts /app/data /app/logs /etc/frr

# Копирование файлов
COPY frr.conf /etc/frr/frr.conf
COPY scripts/ /app/scripts/
COPY data/ /app/data/

# Установка прав доступа
RUN chmod +x /app/scripts/start.sh
RUN chmod +x /app/scripts/load_prefixes.py
RUN chmod +x /app/scripts/generate_config.py
RUN chmod +x /app/scripts/monitor.py

# Рабочая директория
WORKDIR /app

# Открытие BGP порта
EXPOSE 179

# Установка переменных окружения по умолчанию
ENV BGP_LOCAL_AS=65000
ENV BGP_ROUTER_ID=192.168.100.99
ENV BGP_NEIGHBOR_IP=192.168.0.254
ENV BGP_NEIGHBOR_AS=65001
ENV BGP_HOLD_TIME=90
ENV BGP_KEEPALIVE=30
ENV BGP_LOG_LEVEL=info
ENV FRR_DAEMONS="bgpd zebra"

# Команда запуска
ENTRYPOINT ["/app/scripts/start.sh"] 