# Phoenix Ai desk — Coolify / Docker
FROM php:8.3-apache-bookworm

RUN apt-get update \
  && apt-get install -y --no-install-recommends curl \
  && docker-php-ext-install opcache \
  && a2enmod rewrite headers \
  && php -m | grep -qi curl \
  && rm -rf /var/lib/apt/lists/*

# Document root = public/
ENV APACHE_DOCUMENT_ROOT=/var/www/html/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf \
  && sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf \
  && printf '%s\n' \
    '<Directory /var/www/html/public>' \
    '  Options FollowSymLinks' \
    '  AllowOverride All' \
    '  Require all granted' \
    '</Directory>' \
    > /etc/apache2/conf-available/phoenix-public.conf \
  && a2enconf phoenix-public

# PHP: sessions + SSE-friendly timeouts
RUN printf '%s\n' \
    'memory_limit=256M' \
    'max_execution_time=0' \
    'max_input_time=120' \
    'upload_max_filesize=8M' \
    'post_max_size=8M' \
    'session.cookie_httponly=1' \
    'session.use_strict_mode=1' \
    'expose_php=0' \
    'opcache.enable=1' \
    'opcache.memory_consumption=128' \
    > /usr/local/etc/php/conf.d/phoenix.ini

WORKDIR /var/www/html

COPY --chown=www-data:www-data public ./public
COPY --chown=www-data:www-data src ./src
COPY --chown=www-data:www-data data ./data

# Writable session store
RUN mkdir -p /var/www/html/data/sessions \
  && chown -R www-data:www-data /var/www/html/data \
  && chmod -R 750 /var/www/html/data

# Do not bake secrets — Coolify injects env
ENV APP_URL= \
    BROKER_API_URL= \
    BROKER_API_KEY= \
    SESSION_SECRET= \
    LICENSE_PRODUCT=phoenix_ai

EXPOSE 80

HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
  CMD curl -fsS http://127.0.0.1/health || exit 1

CMD ["apache2-foreground"]
