119 lines
2.7 KiB
YAML
119 lines
2.7 KiB
YAML
version: "3.7"
|
|
|
|
##########################################################
|
|
# STACK COMPLETA: Krayin CRM + MySQL + Redis
|
|
##########################################################
|
|
|
|
services:
|
|
|
|
# ===== KRAYIN CRM =====
|
|
crm:
|
|
image: gitea.blyzer.com.br/blyzer/growup-crm:latest
|
|
ports:
|
|
- "8090:80" # Ajuste a porta externa conforme necessário
|
|
volumes:
|
|
- growup_data:/var/www/html/storage
|
|
- growup_public:/var/www/html/public/storage
|
|
networks:
|
|
- network_public
|
|
environment:
|
|
- APP_ENV=${APP_ENV:-production}
|
|
- APP_DEBUG=${APP_DEBUG:-false}
|
|
- APP_URL=${APP_URL}
|
|
- DB_CONNECTION=${DB_CONNECTION:-mysql}
|
|
- DB_HOST=${DB_HOST:-mysql}
|
|
- DB_PORT=${DB_PORT:-3306}
|
|
- DB_DATABASE=${DB_DATABASE:-growup}
|
|
- DB_USERNAME=${DB_USERNAME:-growup}
|
|
- DB_PASSWORD=${DB_PASSWORD}
|
|
- REDIS_HOST=${REDIS_HOST:-redis}
|
|
- REDIS_PORT=${REDIS_PORT:-6379}
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
failure_action: rollback
|
|
delay: 10s
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
|
|
# ===== MYSQL =====
|
|
mysql:
|
|
image: percona/percona-server:8.0
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
|
|
- MYSQL_DATABASE=${DB_DATABASE:-growup}
|
|
- MYSQL_USER=${DB_USERNAME:-growup}
|
|
- MYSQL_PASSWORD=${DB_PASSWORD}
|
|
- TZ=America/Sao_Paulo
|
|
networks:
|
|
- network_public
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
deploy:
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
resources:
|
|
limits:
|
|
cpus: '1'
|
|
memory: 1024M
|
|
command:
|
|
[
|
|
"--character-set-server=utf8mb4",
|
|
"--collation-server=utf8mb4_general_ci",
|
|
"--sql-mode=",
|
|
"--default-authentication-plugin=mysql_native_password",
|
|
"--max-allowed-packet=512MB",
|
|
"--expire_logs_days=7",
|
|
"--max_binlog_size=100M"
|
|
]
|
|
|
|
# ===== REDIS =====
|
|
redis:
|
|
image: redis:latest
|
|
command:
|
|
[
|
|
"redis-server",
|
|
"--appendonly",
|
|
"yes",
|
|
"--port",
|
|
"6379"
|
|
]
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- network_public
|
|
deploy:
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
resources:
|
|
limits:
|
|
cpus: "0.5"
|
|
memory: 1024M
|
|
|
|
networks:
|
|
network_public:
|
|
external: true
|
|
name: network_public
|
|
|
|
volumes:
|
|
growup_data:
|
|
external: true
|
|
name: growup_data
|
|
growup_public:
|
|
external: true
|
|
name: growup_public
|
|
mysql_data:
|
|
external: true
|
|
name: mysql_data
|
|
redis_data:
|
|
external: true
|
|
name: redis_data
|