Merge pull request 'feat: add dockerfile' (#1) from feat/file into dev
This commit is contained in:
commit
57255b579a
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