Configuração de Deploy Automático para o DreamHost
Este repositório já vem configurado com uma rotina do GitHub Actions (
.github/workflows/deploy.yml) que faz o deploy automático para o seu servidor compartilhado na DreamHost toda vez que houver um novo *push* ou *merge* na branch main (ou master).A configuração foi pensada para o uso com banco de dados SQLite sem apagar os dados existentes, o que o torna ideal para a versão do Form Manager que não utiliza MySQL.
Como o Deploy Funciona
1. Rsync (via SSH): Utiliza um conector para copiar os arquivos do repositório para o seu servidor.
2. Arquivos Preservados: Os arquivos do seu banco de dados SQLite (
data/), os uploads (uploads/) e as configurações (config.php) não são substituídos pelo deploy. O banco continuará seguro de versão para versão.3. Instalação Automática: Se o arquivo
config.php ainda não existir no servidor durante a primeira instalação, a rotina copia automaticamente o config.example.php para começar a rodar o sistema com SQLite.Passo a Passo: Configurando os Segredos do GitHub (Secrets)
Para que o GitHub Actions consiga acessar e enviar arquivos ao seu DreamHost via SSH/SFTP, você precisa configurar os seguintes
Secrets na aba de configurações do seu repositório do GitHub (Settings -> Secrets and variables -> Actions):1. SSH_PRIVATE_KEY
* Você precisará gerar uma chave SSH (se ainda não tiver). Recomendamos usar o seguinte comando no seu terminal/CMD:
ssh-keygen -t rsa -b 4096 -m PEM -f github_deploy_key* Após gerar a chave, você deve copiar o conteúdo da chave pública (
github_deploy_key.pub) e colar dentro do arquivo /home/[seu_usuario_dh]/.ssh/authorized_keys no seu servidor da DreamHost.* O valor do Secret deve ser o conteúdo integral da sua chave privada (
github_deploy_key), que você tem no seu computador local.* Importante: certifique-se de que a DreamHost aceita logins SSH para o usuário escolhido (habilite no painel se necessário).
2. SSH_HOST
* O endereço do seu servidor FTP/SSH da DreamHost. Exemplo:
seusite.com ou s123456.dreamhostps.com.3. SSH_USER
* O seu nome de usuário SSH/SFTP na DreamHost. Exemplo:
meu_usuario_dh.4. SSH_TARGET_PATH
* O caminho absoluto onde o site deve ser hospedado no seu servidor.
* Na DreamHost, o caminho padrão geralmente segue o formato
/home/[seu_usuario_dh]/[seu_dominio]/. Exemplo: /home/meu_usuario_dh/formmanager.dlawe.com/.* O importante é apontar para a pasta raiz do seu site.
* A rotina irá jogar todos os arquivos dentro desse diretório.
Modificando as Configurações (config.php)
Como a rotina não sobrescreve o arquivo
config.php se ele já existir, caso você queira fazer mudanças sensíveis de credenciais (email, domínios, etc.):- 1ª Opção: Altere e mande os arquivos via FTP / gerenciador de arquivos diretamente na hospedagem.
- 2ª Opção: Renomear/deletar temporariamente o arquivo na DreamHost (para a automação colocar o do repositório no lugar na próxima vez), ou rodar comandos na própria hospedagem para alterá-lo.
Atualizações de Banco de Dados
Atualmente o sistema já é capaz de criar o
.sqlite e suas respectivas tabelas automaticamente se não existirem através do bloco de código em config.php. Caso hajam novas tabelas futuramente, a migração pode ser atualizada nesse mesmo bloco que criará as novas tabelas, garantindo que versões futuras sejam compatíveis com o banco de dados anterior automaticamente.Primeiro Acesso e Configuração Inicial
Após o deploy ter sido concluído com sucesso, siga os passos abaixo para configurar o seu painel do Form Manager pela primeira vez:
1. Acesse o Painel Administrativo:
Abra o seu navegador e acesse a URL do admin. Se você instalou no domínio principal, será algo como:
https://formmanager.dlawe.com/admin/*(Se a pasta
form-manager foi colocada diretamente na raiz do seu site, ajuste o caminho conforme necessário)*.2. Faça o Login Inicial:
Utilize as credenciais padrão:
* Usuário:
admin* Senha:
admin3. Altere sua Senha (IMPORTANTE):
Logo após acessar pela primeira vez, clique em "Change Password" no menu do painel e defina uma senha forte e segura.
4. Crie seu Primeiro Formulário:
Clique em "Manage Forms" -> "Create New Form" para gerar um novo ID de formulário e começar a capturar os dados do seu site.
5. Ajuste as Configurações (Opcional):
O deploy cria automaticamente um arquivo
config.php baseado no config.example.php. Se você precisar alterar as configurações de envio de e-mail (por exemplo, EMAIL_NOTIFICATIONS ou ADMIN_EMAIL), você pode fazê-lo de duas formas:* Via FTP/Gerenciador de Arquivos: Acesse o painel da DreamHost, encontre o arquivo
config.php e edite os valores desejados.* Localmente: Você também pode alterar localmente e subir, mas lembre-se que, por padrão, a action do GitHub preserva o
config.php no servidor para não sobrescrever o banco de dados e suas credenciais entre atualizações.