From 0070d120ca0fe14a461c3f6fa5ee037fa6ee39e5 Mon Sep 17 00:00:00 2001 From: fananazril Date: Thu, 11 Jun 2026 20:04:45 +0700 Subject: [PATCH] feat: add Dockerfile and docker-compose.yml for Coolify deployment --- Dockerfile | 21 +++++++++++++++++++++ docker-compose.yml | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e2fbdee --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM php:8.2-apache + +# Install PDO MySQL extension +RUN docker-php-ext-install pdo pdo_mysql + +# Enable Apache mod_rewrite +RUN a2enmod rewrite + +# Configure PHP settings for upload limit (matching application config 10MB limit) +RUN echo "upload_max_filesize = 16M" > /usr/local/etc/php/conf.d/uploads.ini \ + && echo "post_max_size = 16M" >> /usr/local/etc/php/conf.d/uploads.ini \ + && echo "memory_limit = 256M" >> /usr/local/etc/php/conf.d/uploads.ini + +# Copy application source code +COPY . /var/www/html/ + +# Set correct permissions +RUN chown -R www-data:www-data /var/www/html/ + +# Expose port 80 +EXPOSE 80 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..152e4e8 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,35 @@ +version: '3.8' + +services: + web: + build: + context: . + dockerfile: Dockerfile + container_name: poverty_map_web + restart: always + environment: + - DB_HOST=db + - DB_USER=${DB_USER:-root} + - DB_PASS=${DB_PASS:-secret} + - DB_NAME=${DB_NAME:-poverty_map} + - BASE_URL=${BASE_URL:-http://localhost} + ports: + - "80:80" + depends_on: + - db + + db: + image: mariadb:10.11 + container_name: poverty_map_db + restart: always + environment: + - MARIADB_ROOT_PASSWORD=${DB_PASS:-secret} + - MARIADB_DATABASE=${DB_NAME:-poverty_map} + volumes: + - db_data:/var/lib/mysql + - ./database.sql:/docker-entrypoint-initdb.d/init.sql:ro + ports: + - "3306:3306" + +volumes: + db_data: