feat: add dockerfile
This commit is contained in:
parent
361e6583c1
commit
2d4666717e
53
docker-compose.yml
Normal file
53
docker-compose.yml
Normal 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
18
web/Dockerfile
Normal 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
|
||||||
Loading…
x
Reference in New Issue
Block a user