# Упрощенный Dockerfile для демонстрации Phantom Protocol # Без сетевых функций для совместимости с sandbox средой FROM ubuntu:22.04 # Установка базовых зависимостей RUN apt-get update && apt-get install -y \ build-essential \ gcc \ make \ libssl-dev \ libxml2-dev \ pkg-config \ protobuf-c-compiler \ libprotobuf-c-dev \ git \ curl \ && rm -rf /var/lib/apt/lists/* # Создание пользователя phantom RUN useradd -m -s /bin/bash phantom # Копирование исходного кода COPY src/ /home/phantom/src/ COPY protos/ /home/phantom/protos/ COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh COPY docker/healthcheck.sh /usr/local/bin/healthcheck.sh # Установка прав RUN chmod +x /usr/local/bin/entrypoint.sh /usr/local/bin/healthcheck.sh RUN chown -R phantom:phantom /home/phantom/ # Переключение на пользователя phantom USER phantom WORKDIR /home/phantom # Генерация protobuf файлов RUN cd protos && ./generate_protos.sh # Сборка проекта RUN cd src && make clean && make phantomd # Создание директорий RUN mkdir -p /home/phantom/data /home/phantom/logs # Порты EXPOSE 8080 8081 # Точка входа ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] CMD ["phantomd"]