59 lines
1.3 KiB
YAML
59 lines
1.3 KiB
YAML
services:
|
|
php:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: ${FRAMEWORK}
|
|
args:
|
|
# args from .env file
|
|
PHP_VERSION: ${PHP_VERSION}
|
|
MODE: ${MODE}
|
|
restart: unless-stopped
|
|
networks:
|
|
- app-network
|
|
environment:
|
|
# proxy,local mode
|
|
CADDY_TLS_INTERNAL: 0
|
|
SERVER_NAME: ":${PORT}"
|
|
# production mode
|
|
# SERVER_NAME: ${SERVER_NAME}
|
|
# FRANKENPHP_HTTP2: 1
|
|
# FRANKENPHP_HTTP3: 1
|
|
ports:
|
|
# proxy,local mode
|
|
- "${PORT}:${PORT}" # HTTP
|
|
# production mode
|
|
# - "443:443" # HTTPS
|
|
# - "443:443/udp" # HTTP/3
|
|
volumes:
|
|
- ./php.ini:/usr/local/etc/php/php.ini:ro
|
|
- caddy_data:/data
|
|
- caddy_config:/config
|
|
# opencart,wordpress
|
|
- ./www:/app/public
|
|
# laravel,symfony
|
|
# - ./www:/app
|
|
|
|
|
|
db:
|
|
image: mariadb
|
|
restart: unless-stopped
|
|
networks:
|
|
- app-network
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
|
MYSQL_USER: ${MYSQL_USER_DATABASE}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD_DATABASE}
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
|
|
# Volumes needed for Caddy certificates and configuration
|
|
volumes:
|
|
caddy_data:
|
|
caddy_config:
|
|
db_data:
|
|
|
|
networks:
|
|
app-network:
|
|
driver: bridge |