add: full multi-tenancy control

This commit is contained in:
Cauê Faleiros
2026-02-02 15:31:15 -03:00
commit c6ec92802b
1711 changed files with 258106 additions and 0 deletions

114
docker-compose.yml Normal file
View File

@@ -0,0 +1,114 @@
version: "3.7"
##########################################################
# STACK COMPLETA: Krayin CRM + MySQL + Redis
##########################################################
services:
# ===== KRAYIN CRM =====
krayin:
image: growup:latest # Sua imagem customizada
ports:
- "8090:80" # Ajuste a porta externa conforme necessário
volumes:
- krayin_data:/var/www/html/storage
- krayin_public:/var/www/html/public/storage
networks:
- network_public
environment:
- APP_ENV=production
- APP_DEBUG=false
- APP_URL=https://seudominio.com.br
- DB_CONNECTION=mysql
- DB_HOST=mysql
- DB_PORT=3306
- DB_DATABASE=krayin
- DB_USERNAME=krayin
- DB_PASSWORD=Mfcd62!!Mfcd62!!
- REDIS_HOST=redis
- REDIS_PORT=6379
depends_on:
- mysql
- redis
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
# ===== MYSQL =====
mysql:
image: percona/percona-server:8.0
environment:
- MYSQL_ROOT_PASSWORD=Mfcd62!!Mfcd62!!
- MYSQL_DATABASE=krayin
- MYSQL_USER=krayin
- MYSQL_PASSWORD=Mfcd62!!Mfcd62!!
- 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:
krayin_data:
external: true
name: krayin_data
krayin_public:
external: true
name: krayin_public
mysql_data:
external: true
name: mysql_data
redis_data:
external: true
name: redis_data