FROM ubuntu:24.04

ENV DEBIAN_FRONTEND=noninteractive \
    PYTHONUNBUFFERED=1 \
    APPIMAGE_EXTRACT_AND_RUN=1

# ── System deps ───────────────────────────────────────────────────────────────
RUN apt-get update && apt-get install -y \
    python3 python3-pip \
    nsis \
    squashfs-tools \
    file binutils wget \
    libfuse2 fuse \
    && rm -rf /var/lib/apt/lists/*

# ── Python deps ───────────────────────────────────────────────────────────────
RUN pip3 install --break-system-packages flask fpdf2 cryptography Pillow

# ── appimagetool: завантажуємо версію під архітектуру хоста ──────────────────
RUN ARCH_NAME=$(uname -m) && \
    if [ "$ARCH_NAME" = "aarch64" ]; then \
        wget -qO /usr/local/bin/appimagetool \
            https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-aarch64.AppImage; \
    else \
        wget -qO /usr/local/bin/appimagetool \
            https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage; \
    fi && chmod +x /usr/local/bin/appimagetool

WORKDIR /app

# ── Project files ─────────────────────────────────────────────────────────────
COPY server/     server/
COPY website/    website/
COPY installer/  installer/
COPY shaders/    shaders/
COPY textures/   textures/
COPY src/        src/
COPY mingw-deps/ mingw-deps/
COPY CMakeLists.txt Dockerfile docker-compose.yml Caddyfile ./
COPY build-windows.sh toolchain-mingw64.cmake deploy.sh ./
COPY build/minecraft build/minecraft

RUN chmod +x build/minecraft

EXPOSE 5000

ENV MAKENSIS=/usr/bin/makensis \
    NSISDIR_PATH=/usr/share/nsis \
    APPIMAGETOOL=/usr/local/bin/appimagetool \
    HOST=0.0.0.0

CMD ["python3", "server/server.py"]
