docker-compose.yml
Rama master · réplica de lectura del repositorio original.
services:
php:
build:
context: docker/${CFG_PHP:-php}
dockerfile: Dockerfile
args:
PHP_VERSION: ${PHP_VERSION:-8.4}
init: true
container_name: emailer-php
cpus: ${PHP_CPUS:-1}
mem_limit: ${PHP_MEMORY:-512m}
working_dir: /app
volumes:
- ./:/app
environment:
- ENV=${ENV}
- DEBUG_MODE=${DEBUG_MODE}
- APPLICATION_HOST=${APPLICATION_HOST}
- EMAILER_API=${EMAILER_API}
- MARIADB_HOST=emailer-mariadb
- MARIADB_PORT=3306
- MARIADB_DATABASE=${MARIADB_DATABASE:-emailer}
- MARIADB_USER=${MARIADB_USER:-emailer}
- MARIADB_PASSWORD=${MARIADB_PASSWORD}
- REDIS_HOST=emailer-redis
- REDIS_PORT=6379
ports:
- "${PORT_PHP:-10002}:9000"
restart: "no"
networks:
- default
mariadb:
image: mariadb:10.5
container_name: emailer-mariadb
cpus: ${DB_CPUS:-1}
mem_limit: ${DB_MEMORY:-1g}
working_dir: /backup
init: true
volumes:
- mydb:/var/lib/mysql
- ./docker/backup_db:/backup
- ./docker/${CFG_DB:-mariadb}/mariadb.cnf:/etc/mysql/conf.d/mariadb.cnf
#- ./docker/${CFG_DB:-mariadb}/50-mysqld_safe.cnf:/etc/mysql/mariadb.conf.d/50-mysqld_safe.cnf
environment:
MARIADB_DATABASE: ${MARIADB_DATABASE:-emailer}
MARIADB_USER: ${MARIADB_USER:-emailer}
MARIADB_PASSWORD: ${MARIADB_PASSWORD}
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
ports:
- "${PORT_DB:-10003}:3306"
restart: "no"
networks:
- default
nginx:
image: nginx:latest
container_name: emailer-nginx
cpus: ${NGINX_CPUS:-0.5}
mem_limit: ${NGINX_MEMORY:-128m}
working_dir: /app
init: true
volumes:
- ./public:/app
- ./docker/${CFG_NGINX:-nginx}/default.conf:/etc/nginx/conf.d/default.conf
- ./docker/${CFG_NGINX:-nginx}/static_params:/etc/nginx/static_params
- ./docker/${CFG_NGINX:-nginx}/fpm_params:/etc/nginx/fpm_params
- ./docker/${CFG_NGINX:-nginx}/ssl:/etc/nginx/ssl
environment:
- ENV=${ENV}
- APPLICATION_HOST=${APPLICATION_HOST}
ports:
- "${PORT_HTTP:-82}:80"
- "${PORT_HTTPS:-83}:443"
restart: "no"
networks:
- default
depends_on:
- php
redis:
image: redis:alpine
container_name: emailer-redis
cpus: ${REDIS_CPUS:-0.5}
mem_limit: ${REDIS_MEMORY:-256m}
restart: "on-failure"
init: true
networks:
- default
# swagger-ui:
# image: swaggerapi/swagger-ui
# container_name: "swagger-ui"
# ports:
# - "8082:8080"
# volumes:
# - ./swagger/openapi.json:/openapi.json
# environment:
# SWAGGER_JSON: /openapi.json
# # API_URL: ""
volumes:
mydb:
name: emailer-mydb
networks:
default:
name: default-network