
- Thêm file .env.prod với cấu hình chi tiết cho môi trường production - Cập nhật docker-compose.dev.yml và docker-compose.prod.yml - Tạo Dockerfile.prod với cấu hình chi tiết cho production - Bổ sung cấu hình nginx, prometheus, grafana - Thêm cấu hình backup và monitoring - Cập nhật README với hướng dẫn chi tiết
74 lines
2.1 KiB
YAML
74 lines
2.1 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.dev
|
|
restart: unless-stopped
|
|
ports:
|
|
- ${PORT}:${PORT}
|
|
environment:
|
|
APP_ENV: ${APP_ENV}
|
|
PORT: ${PORT}
|
|
BLUEPRINT_DB_HOST: mysql_bp
|
|
BLUEPRINT_DB_PORT: ${BLUEPRINT_DB_PORT}
|
|
BLUEPRINT_DB_DATABASE: ${BLUEPRINT_DB_DATABASE}
|
|
BLUEPRINT_DB_USERNAME: ${BLUEPRINT_DB_USERNAME}
|
|
BLUEPRINT_DB_PASSWORD: ${BLUEPRINT_DB_PASSWORD}
|
|
BLUEPRINT_DB_MAX_IDLE_CONNS: ${BLUEPRINT_DB_MAX_IDLE_CONNS}
|
|
BLUEPRINT_DB_MAX_OPEN_CONNS: ${BLUEPRINT_DB_MAX_OPEN_CONNS}
|
|
BLUEPRINT_DB_CONN_MAX_LIFETIME: ${BLUEPRINT_DB_CONN_MAX_LIFETIME}
|
|
LOGGER_LOG_LEVEL: ${LOGGER_LOG_LEVEL}
|
|
LOGGER_FILE_LOG_NAME: ${LOGGER_FILE_LOG_NAME}
|
|
LOGGER_MAX_SIZE: ${LOGGER_MAX_SIZE}
|
|
LOGGER_MAX_BACKUPS: ${LOGGER_MAX_BACKUPS}
|
|
LOGGER_MAX_AGE: ${LOGGER_MAX_AGE}
|
|
LOGGER_COMPRESS: ${LOGGER_COMPRESS}
|
|
volumes:
|
|
- .:/app # Mount current directory to /app in container
|
|
command: air # Use air for hot-reload
|
|
depends_on:
|
|
mysql_bp:
|
|
condition: service_healthy
|
|
networks:
|
|
- blueprint
|
|
mysql_bp:
|
|
image: mysql:latest
|
|
platform: linux/arm64
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_DATABASE: ${BLUEPRINT_DB_DATABASE}
|
|
MYSQL_USER: ${BLUEPRINT_DB_USERNAME}
|
|
MYSQL_PASSWORD: ${BLUEPRINT_DB_PASSWORD}
|
|
MYSQL_ROOT_PASSWORD: ${BLUEPRINT_DB_ROOT_PASSWORD}
|
|
ports:
|
|
- "${BLUEPRINT_DB_PORT}:3306"
|
|
volumes:
|
|
- mysql_volume_bp:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "${BLUEPRINT_DB_USERNAME}", "--password=${BLUEPRINT_DB_PASSWORD}", "--silent"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 40s
|
|
networks:
|
|
- blueprint
|
|
|
|
phpmyadmin:
|
|
image: arm64v8/phpmyadmin:latest
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8081:80"
|
|
environment:
|
|
PMA_HOST: mysql_bp
|
|
PMA_PORT: 3306
|
|
MYSQL_ROOT_PASSWORD: ${BLUEPRINT_DB_ROOT_PASSWORD}
|
|
depends_on:
|
|
mysql_bp:
|
|
condition: service_healthy
|
|
networks:
|
|
- blueprint
|
|
|
|
volumes:
|
|
mysql_volume_bp:
|
|
networks:
|
|
blueprint: |