PHP + Laravel + MariaDB
Laravel é o framework PHP mais usado para aplicações sob medida: ORM Eloquent, migrações, sistema de filas, autenticação e um motor de templates próprio, tudo com uma sintaxe muito cuidada.
Este Stack o combina com MariaDB.
Serviços que inclui
Além da sua aplicação, o Stack levanta o MariaDB, um nginx que recebe o tráfego da porta 80, um serviço de backups automáticos e o gerenciador de arquivos web.
Estrutura do projeto
.
├── app
│ ├── app
│ │ └── ...
│ ├── bootstrap
│ │ ├── app.php
│ │ └── providers.php
│ ├── config
│ │ ├── app.php
│ │ └── database.php
│ ├── public
│ │ └── index.php
│ ├── routes
│ │ ├── console.php
│ │ └── web.php
│ ├── artisan
│ └── composer.json
├── backup
│ └── backup-runner.sh
├── nginx
│ └── default.conf
├── .env.example
├── app.Dockerfile
└── compose.yaml
Colocando em funcionamento
Instale o Stack e inicie-o:
docker-deploy-stack --stack php/laravel-mariadb
cd /root/stack/php/laravel-mariadb
docker compose up -d
Depois substitua a aplicação de exemplo pela sua, via Git, por SFTP ou pelo gerenciador de arquivos web, seguindo como-implantar-uma-aplicação-em-um-stack.md. Seu código vai na pasta app/.
Cada vez que atualizar o código, aplique as alterações:
docker compose up -d --build
Configuração
Os valores editáveis estão no arquivo .env do Stack:
| Variável | Padrão | Para que serve |
|---|---|---|
APP_PORT |
80 |
Porta pública do Stack. |
APP_ENV |
development |
Ambiente da aplicação. |
DB_NAME |
laravel |
Nome do banco de dados. |
DB_USER |
laravel |
Usuário do banco de dados. |
BACKUP_ENABLED |
1 |
Backups automáticos: 1 ativado, 0 desativado. |
BACKUP_INTERVAL_SECONDS |
86400 |
Intervalo (em segundos) entre backups. |
BACKUP_RETENTION_DAYS |
7 |
Quantos dias os backups são mantidos. |
MARIADB_VERSION |
11.4 |
Versão da imagem correspondente. |
Depois de alterar, aplique as alterações com docker compose up -d.
Comandos úteis
docker compose ps # ver os contêineres que estão em execução
docker compose logs -f # ver os logs em tempo real
docker compose restart # reiniciar os serviços
docker compose down # parar e remover os contêineres