Files
cetaksuratkp-api/docker-compose.yml
T
2026-06-22 19:53:14 +07:00

67 lines
1.6 KiB
YAML

services:
# ==========================================
# 1. Laravel Application (PHP-FPM)
# ==========================================
app:
build:
context: .
dockerfile: docker/Dockerfile
restart: unless-stopped
environment:
APP_NAME: ${APP_NAME:-Laravel}
APP_ENV: ${APP_ENV:-production}
APP_KEY: ${APP_KEY}
APP_DEBUG: ${APP_DEBUG:-false}
APP_URL: ${APP_URL}
DB_CONNECTION: mariadb
DB_HOST: db
DB_PORT: 3306
DB_DATABASE: ${DB_DATABASE}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
FILESYSTEM_DISK: public
volumes:
- public_files:/var/www/html/public
- upload_files:/var/www/html/storage/app/public
depends_on:
- db
# ==========================================
# 2. Web Server (Custom Nginx)
# ==========================================
web:
build:
context: .
dockerfile: docker/nginx.Dockerfile
restart: unless-stopped
expose:
- "80"
volumes:
- public_files:/var/www/html/public:ro
depends_on:
- app
# ==========================================
# 3. Database (MariaDB)
# ==========================================
db:
build:
context: .
dockerfile: docker/mariadb.Dockerfile
restart: unless-stopped
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
public_files:
upload_files: