Skip to content

Instalação

Este guia irá ajudar-te a concluir a instalação e a configuração inicial do Doggy Framework.

Pré-requisitos

  • PHP >= 8.2
  • ext-ctype, ext-iconv
  • PostgreSQL >= 14
  • Composer >= 2.5

Estrutura de diretórios

my-app/
├── Caddyfile              # Configuração do FrankenPHP (Hub Mercure, compressão, cache)
├── config/
│   ├── bundles.php
│   ├── packages/          # 31 ficheiros de configuração de Bundles
│   └── services.yaml
├── src/
│   ├── Annotation/        # Ef.php, EfGroup.php
│   ├── Entity/            # Organization, Platform, Security, Storage, System, Traits
│   ├── Controller/        # Admin, Api, Security
│   ├── Service/           # AI, Storage, Security, Task, Platform, etc.
│   └── ...
├── templates/             # 143 templates Twig
└── public/                # ficheiros de entrada

Instalação das dependências de ambiente

PostgreSQL

bash
# macOS
brew install postgresql@14
brew services start postgresql@14

# Ubuntu/Debian
sudo apt install postgresql-14
sudo systemctl start postgresql

Criar a base de dados:

bash
createdb app

Mercure Hub

O Mercure Hub está integrado no FrankenPHP e fica disponível apenas configurando o Caddyfile, sem instalação adicional. Ver Configuração do Mercure.

Iniciar a aplicação

A aplicação é executada na máquina anfitriã através do FrankenPHP:

bash
# Ambiente de desenvolvimento
symfony serve

# Ambiente de produção (modo Worker do FrankenPHP)
cd my-app && php -d variables_order=EGPCS bin/runtime -vvv

O FrankenPHP lê automaticamente a configuração do Caddyfile e fica à escuta em http://localhost:8000.

Inicializar a base de dados

bash
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate
php bin/console doctrine:fixtures:load

Inicializar os dados base

bash
# Inicializar as contas de administrador (três responsáveis)
php bin/console app:init-officers

# Gerar o menu estático
php bin/console app:ef:init-admin-menu

Contas predefinidas

PapelNome de utilizadorPalavra-passe inicial
Administrador de sistemaadminadmin123
Responsável pela segurançasecuritysecurity123
Auditor de segurançaauditorauditor123

⚠️ Em ambiente de produção, todas as palavras-passe predefinidas devem ser alteradas.

Acesso

Passos seguintes

Código aberto sob MIT | Copyright © 2026 Doggy