FROM php:8.3-apache
RUN apt update \
	&& apt install curl -y \
	libzip-dev \
	libpq-dev \
	vim \
        zip \
	&& docker-php-ext-install zip \
	&& docker-php-ext-install pgsql pdo_pgsql 
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
RUN composer create-project laravel/laravel laravel 
WORKDIR /var/www/html/laravel/
RUN chmod -R 777 /var/www/html/laravel/ \
	&& mv /var/www/html/laravel/.env.example /var/www/html/laravel/.env \
	&& sed -i 's|/var/www/html|/var/www/html/laravel/public|g' /etc/apache2/sites-available/000-default.conf \
	&& sed -i 's/DB_CONNECTION=sqlite/DB_CONNECTION=pgsql/g' /var/www/html/laravel/.env \
	&& sed -i 's/# DB_HOST=127.0.0.1/DB_HOST=database/g' /var/www/html/laravel/.env \
	&& sed -i 's/# DB_PORT=3306/DB_PORT=5432/g' /var/www/html/laravel/.env \
	&& sed -i 's/# DB_DATABASE=laravel/DB_DATABASE=laravel/g' /var/www/html/laravel/.env \
	&& sed -i 's/# DB_USERNAME=root/DB_USERNAME=admin/g' /var/www/html/laravel/.env \
	&& sed -i 's/# DB_PASSWORD=/DB_PASSWORD=password/g' /var/www/html/laravel/.env \
	&& php artisan key:generate
EXPOSE 80
