Central de Ajuda

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

text
.
├── 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:

bash
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:

bash
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

bash
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
Guia g.0309 · Versão de origem 1 · pt-BR