This commit is contained in:
Tower committed 2026-05-25 16:47:21 +02:00
1 parent 00fee2ee08
commit db5e9b0bd9
3 files changed
+119

No files matched your search

+35
View File
@@ -0,0 +1,35 @@
FROM php:8.2-apache
# Install system dependencies
RUN apt-get update && apt-get install -y \
libpng-dev \
libonig-dev \
libxml2-dev \
zip \
unzip \
curl
# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# Install PHP extensions
RUN docker-php-ext-install mysqli pdo_mysql mbstring exif pcntl bcmath gd
# Enable Apache mod_rewrite
RUN a2enmod rewrite
# Set working directory
WORKDIR /var/www/html
# Copy project files
COPY . /var/www/html
# Adjust permissions for logs and other writable dirs
RUN chown -R www-data:www-data /var/www/html
# Update Apache configuration to point to WEBROOT
ENV APACHE_DOCUMENT_ROOT /var/www/html/Framework/WEBROOT
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
EXPOSE 80
+41
View File
@@ -0,0 +1,41 @@
version: '3.8'
services:
# Web Server (Apache + PHP)
web:
build: .
container_name: mvc_web
ports:
- "8080:80"
volumes:
- .:/var/www/html
environment:
- APP_ENV=dev
depends_on:
- db
networks:
- mvc_network
# Database (MariaDB)
db:
image: mariadb:10.11
container_name: mvc_db
restart: always
environment:
MARIADB_ROOT_PASSWORD: root_password
MARIADB_DATABASE: mvc_database
MARIADB_USER: mvc_user
MARIADB_PASSWORD: mvc_password
ports:
- "3306:3306"
volumes:
- mvc_db_data:/var/lib/mysql
networks:
- mvc_network
networks:
mvc_network:
driver: bridge
volumes:
mvc_db_data:
+43
View File
@@ -1704,6 +1704,49 @@ PHP;
$files['Dockerfile'] = <<<'DOCKER'
FROM php:8.2-apache
RUN apt-get update && apt-get install -y libpng-dev libonig-dev libxml2-dev zip unzip curl
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
RUN docker-php-ext-install mysqli pdo_mysql mbstring exif pcntl bcmath gd
RUN a2enmod rewrite
WORKDIR /var/www/html
ENV APACHE_DOCUMENT_ROOT /var/www/html/WEBROOT
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
EXPOSE 80
DOCKER;
$files['docker-compose.yml'] = <<<'YAML'
version: '3.8'
services:
web:
build: .
container_name: mvc_web
ports:
- "8080:80"
volumes:
- .:/var/www/html
depends_on:
- db
networks:
- mvc_network
db:
image: mariadb:10.11
container_name: mvc_db
restart: always
environment:
MARIADB_ROOT_PASSWORD: root_password
MARIADB_DATABASE: mvc_database
MARIADB_USER: mvc_user
MARIADB_PASSWORD: mvc_password
networks:
- mvc_network
networks:
mvc_network:
driver: bridge
YAML;
$files['install_db.php'] = <<<'PHP'
<?php
if (php_sapi_name() !== 'cli') die("CLI only.\n");