FROM golang:1.23-alpine AS build

COPY ./gosrc/ /build

WORKDIR /build

RUN go mod download

RUN go build -ldflags="-s -w" -o ./dist/app


FROM php:8.2-cli

# Install dependencies needed for Composer and PHP zip extension
RUN echo "deb http://deb.debian.org/debian bookworm contrib non-free" > /etc/apt/sources.list.d/contrib.list
RUN apt-get update && apt-get install -y \
    curl \
    unzip \
    libzip-dev \
    libreoffice \
    fontconfig \
    gcc \
    g++ \
    build-essential \
    ttf-mscorefonts-installer \
    && docker-php-ext-install zip \
    && rm -rf /var/lib/apt/lists/*

# Install fonts
RUN mkdir -p /usr/share/fonts/truetype/custom
COPY ./fonts/gilroy/*   /usr/share/fonts/truetype/custom
COPY ./fonts/lexend/*   /usr/share/fonts/truetype/custom
RUN fc-cache -f -v

# Download and install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Verify Composer installation
RUN composer --version

WORKDIR /app

COPY . . 

COPY --from=build /build/dist/app .

RUN rm -rf gosrc && composer install

CMD [ "/app/app" ]