Referência v3
Voltar à plataforma

Instalação

Do zero ao servidor rodando em minutos.

Pré-requisitos

Antes de começar, certifique-se de ter instalado:

RequisitoVersão mínimaVerificar
PHP8.2+php -v
Composer2.xcomposer -V
Git2.xgit --version
PostgreSQL ou MySQL15+ / 8+psql -V / mysql -V

Instalar PHP 8.2 (Ubuntu)

bash
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install -y php8.2 php8.2-cli php8.2-common php8.2-curl php8.2-mbstring php8.2-xml php8.2-zip

Instalar Composer

bash
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Instalar extensões de banco de dados

Para PostgreSQL:

bash
sudo apt-get install php8.2-pgsql
# Windows: habilite 'extension=pgsql' e 'extension=pdo_pgsql' no php.ini

Para MySQL:

bash
sudo apt-get install php8.2-mysql
# Windows: habilite 'extension=mysqli' e 'extension=pdo_mysql' no php.ini

Banco de dados com Docker (alternativa recomendada)

Se não quiser instalar PostgreSQL ou MySQL localmente, use o Docker. O projeto já vem com um docker-compose.yml pronto.

Instalar Docker + Compose (Ubuntu)

bash
# Remove versões antigas
sudo apt-get remove -y docker docker-engine docker.io containerd runc

# Instala dependências
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg

# Adiciona chave GPG oficial do Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Adiciona repositório
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Instala Docker Engine + Compose plugin
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Permite rodar sem sudo (requer logout/login)
sudo usermod -aG docker $USER

Windows / macOS

Instale o Docker Desktop — já inclui o Compose.

Subir o banco com docker-compose.yml

Com o repositório clonado, escolha o banco que preferir:

bash
# Apenas PostgreSQL (recomendado)
docker compose up -d postgres

# Apenas MySQL
docker compose up -d mysql

# PostgreSQL + Adminer (interface web na porta 8080)
docker compose up -d postgres adminer

# Tudo (PostgreSQL + MySQL + Adminer)
docker compose up -d
Adminer

Com o Adminer rodando, acesse http://localhost:8080 para gerenciar o banco via interface web. Servidor: postgres, usuário: admin, senha: conforme DB_SENHA no .env.

Parar os containers

bash
docker compose down          # para e remove containers (dados preservados)
docker compose down -v       # para e remove containers + volumes (apaga dados)
Configuração automática

O Docker Compose lê as variáveis DB_NOME, DB_USUARIO, DB_SENHA e APP_TIMEZONE diretamente do seu .env. Configure-as antes de subir os containers.

Clonar o repositório

bash
git clone https://github.com/vupi.us/api_vupi.us_php.git
cd api_vupi.us_php

Instalar dependências

bash
composer install --no-dev --optimize-autoloader   # produção
composer install                                   # desenvolvimento

Setup automático (recomendado)

O projeto possui um comando de setup completo com menu interativo:

bash
php vupi setup

O menu interativo permite:

  • Gerar secrets JWT automaticamente
  • Criar banco de dados via Docker
  • Executar migrations e seeders
  • Subir o servidor PHP em background
  • Configurar Caddy para HTTPS automático

Ou tudo de uma vez sem interação:

bash
php vupi setup --auto --db-mode=docker --server=php --jwt=if-empty
Ver todas as opções

php vupi setup --help lista todas as flags disponíveis.

Setup manual (passo a passo)

1

Copiar o arquivo de ambiente

bash
cp EXEMPLO.env .env
# Windows:
copy EXEMPLO.env .env
2

Editar o .env com suas configurações

Preencha pelo menos: DB_HOST, DB_NOME, DB_USUARIO, DB_SENHA, JWT_SECRET e JWT_API_SECRET.

Veja a seção Configuração do Ambiente para detalhes de cada variável.

3

Executar migrations

bash
php vupi migrate --seed
4

Iniciar o servidor

bash
php -S localhost:3005 index.php

Acesse: http://localhost:3005

Instalação rápida (Ubuntu)

Para Ubuntu 22.04/24.04, um único script instala tudo:

bash
git clone https://github.com/vupi.us/api_vupi.us_php.git
cd api_vupi.us_php
sudo bash install.sh

Instala PHP 8.2, Docker, drivers de banco, Composer, sobe o banco, roda migrations e seeders, e inicia o servidor — tudo automaticamente.