feat: add dockerfile #1

Merged
5803025047 merged 1 commits from feat/file into dev 2025-11-13 02:59:07 -05:00
2 changed files with 71 additions and 0 deletions
Showing only changes of commit 2d4666717e - Show all commits

53
docker-compose.yml Normal file
View File

@ -0,0 +1,53 @@
version: "3.8"
services:
# --- PHP + Apache ---
web:
build:
context: .
dockerfile: web/Dockerfile
image: codebeater:latest
container_name: phpapache
ports:
- "${APP_PORT}:80"
volumes:
- ./src:/var/www/html
environment:
- APACHE_RUN_USER=www-data
- APACHE_RUN_GROUP=www-data
depends_on:
- db
# --- MySQL Database ---
db:
image: mysql:8.0
platform: linux/amd64
container_name: sql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
ports:
- "${MYSQL_PORT}:3306"
volumes:
- db_data:/var/lib/mysql
# --- phpMyAdmin ---
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
platform: linux/amd64
container_name: phpmyadmin
restart: unless-stopped
depends_on:
- db
environment:
PMA_HOST: db
PMA_USER: ${MYSQL_USER}
PMA_PASSWORD: ${MYSQL_PASSWORD}
ports:
- "${PHPMYADMIN_PORT}:80"
volumes:
db_data:

18
web/Dockerfile Normal file
View File

@ -0,0 +1,18 @@
FROM php:8.1-apache
# Install ekstensi PHP yang dibutuhkan
RUN apt-get update && apt-get install -y \
libzip-dev zip unzip git \
&& docker-php-ext-install mysqli pdo pdo_mysql zip
# Aktifkan mod_rewrite (penting untuk routing dan login)
RUN a2enmod rewrite
# Copy source code (untuk development pakai volume)
COPY ./src/ /var/www/html/
# Ubah permission agar Apache bisa akses file
RUN chown -R www-data:www-data /var/www/html
# Expose port 80
EXPOSE 80