Skip to content

getfy-opensource/getfy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

171 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Getfy (Open Source)

Plataforma Laravel + Vue para checkout, área de membros e estrutura completa de pagamentos.

Instalação rápida

  • Hospedagem compartilhada (upload manual): acesse https://SEU_DOMINIO/install
  • VPS (terminal): bash -c "$(curl -fsSL https://raw.githubusercontent.com/getfy-opensource/getfy/main/install.sh)"
  • Docker na Hostinger (deploy por URL do GitHub): use docker-compose.yml do repositório

Requisitos

Hospedagem compartilhada

  • PHP 8.2+
  • MySQL/MariaDB (recomendado MySQL 8+)
  • Extensões PHP comuns do Laravel: pdo_mysql, mbstring, openssl, ctype, json, tokenizer, xml, bcmath, intl, zip
  • Permissão de escrita nas pastas: storage/ e bootstrap/cache/
  • .htaccess habilitado (Apache/LiteSpeed) ou regras equivalentes (Nginx)

Observação: o instalador tenta rodar Composer e build do front automaticamente. Em hospedagens onde isso é bloqueado, ele segue usando vendor/ e public/build existentes, se estiverem presentes no upload.

VPS (instalação automática)

  • Ubuntu/Debian (precisa de apt-get)
  • Acesso SSH com usuário root ou com sudo

Instalação em hospedagem compartilhada (upload manual + /install)

Este modo é o mais indicado quando você não tem acesso a SSH/terminal.

1) Criar o banco de dados

  1. No painel da sua hospedagem, crie um banco MySQL e um usuário.
  2. Anote: Host, Porta (geralmente 3306), Nome do banco, Usuário e Senha.

2) Baixar e enviar os arquivos

  1. No GitHub, clique em Code → Download ZIP.
  2. Extraia o ZIP no seu computador.
  3. Envie todos os arquivos para o servidor (normalmente public_html/).

Dica para leigos: se o painel permitir “Extrair ZIP” no servidor, envie o .zip e use a opção de extrair para evitar upload demorado.

3) Dar permissões de escrita

Garanta que estas pastas sejam graváveis pelo PHP:

  • storage/
  • bootstrap/cache/

Se sua hospedagem tiver “Permissões” no gerenciador de arquivos, use 775 (ou 777 se não houver alternativa, apenas durante a instalação).

4) Rodar o instalador pelo navegador

  1. Abra: https://SEU_DOMINIO/install
  2. Preencha a URL do sistema (ex.: https://seudominio.com), os dados do banco (host/porta/banco/usuário/senha) e o “Session driver” (em hospedagem compartilhada, use file na maioria dos casos).
  3. Finalize as 4 etapas.

Ao terminar, o instalador marca APP_INSTALLED=true no .env e desativa o instalador automaticamente (a pasta public/install é renomeada para public/.install).

5) Criar o primeiro administrador

Depois de instalar, acesse:

  • https://SEU_DOMINIO/criar-admin

Se já existir um usuário administrador, essa tela redireciona para o login.

6) Configurar o cron (importante em hospedagem compartilhada)

Para rotinas automáticas (fila/agendamentos), configure uma chamada a cada minuto:

  • URL: https://SEU_DOMINIO/cron?token=SEU_CRON_SECRET

Onde encontrar o token:

  1. Abra o arquivo .env no servidor.
  2. Procure por CRON_SECRET=... (ele é gerado no final da instalação).

Como configurar:

  1. Se sua hospedagem tiver Cron Jobs, crie um cron a cada minuto chamando a URL acima (via curl/wget).
  2. Se não tiver cron, use um serviço externo (ex.: cron-job.org / EasyCron) para bater nessa URL a cada minuto.

Instalação em VPS (recomendado) — instalador automático via SSH

Este modo instala e sobe tudo via Docker (app + banco + redis + scheduler).

1) Rodar o instalador

Conecte via SSH e execute:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/getfy-opensource/getfy/main/install.sh)"

O que esse comando faz:

  1. Instala dependências básicas e Docker (se não existir).
  2. Clona o repositório em /opt/getfy (padrão).
  3. Sobe os containers com docker compose.

2) Abrir a configuração do Docker no navegador

Ao final, o terminal mostra uma URL parecida com:

  • http://SEU_IP/docker-setup

Abra e informe o domínio público (ex.: seudominio.com). Isso ajusta APP_URL e finaliza a configuração inicial.

3) Criar o primeiro administrador

  • http://SEU_DOMINIO/criar-admin

(Opcional) Trocar porta/dir de instalação

Você pode definir variáveis antes de rodar o instalador:

GETFY_HTTP_PORT=8080 GETFY_DIR=/opt/getfy bash -c "$(curl -fsSL https://raw.githubusercontent.com/getfy-opensource/getfy/main/install.sh)"

Docker na Hostinger (deploy por URL do GitHub)

Este modo é para quando você usa um painel que permite “Criar aplicação a partir de um repositório Git”.

1) Criar a aplicação

  1. No painel da Hostinger, escolha criar uma nova aplicação a partir de um repositório (Git/URL).
  2. Cole a URL do repositório do GitHub.
  3. Se o painel pedir qual arquivo usar, prefira docker-compose.yml (recomendado, pois sobe banco + redis + scheduler junto) e ative o modo “Docker Compose” se existir.

2) Portas e persistência

  1. Garanta que a aplicação exponha a porta 80 (ou a porta exigida pelo painel).
  2. Garanta persistência para storage/ (uploads, logs, cache) e .docker/ (estado do setup).

Se o painel não oferecer volumes persistentes, os dados podem ser perdidos em um redeploy.

3) Finalizar no navegador

Depois do deploy, acesse:

  • https://SEU_DOMINIO/docker-setup

E em seguida:

  • https://SEU_DOMINIO/criar-admin

Se o seu painel não suportar docker-compose.yml, a alternativa mais simples é usar o modo VPS (SSH) acima.


Para atualizar:

VPS:

  1. Conecte via SSH.
  2. Execute: bash -c "$(curl -fsSL https://raw.githubusercontent.com/getfy-opensource/getfy/main/update.sh)".

Hospedagem compartilhada:

  1. Baixe o zip update vX.X.X do repositório.
  2. Extraia o conteúdo na pasta do projeto.
  3. Vá em configurações > Update > Rodar migration

Solução de problemas (rápido)

  • Erro 500 logo ao abrir o site: verifique PHP 8.2+, permissões de storage/ e bootstrap/cache/ e se o .env existe.
  • Instalador não conclui “Composer”: algumas hospedagens bloqueiam proc_open. Nesses casos, suba o projeto já com vendor/ (rode composer install no seu PC antes de enviar) e tente novamente.
  • Arquivos em public/storage não aparecem: storage:link pode falhar em hospedagens sem symlink. Se acontecer, crie manualmente um link/symlink de public/storagestorage/app/public (ou use um painel que suporte isso).
  • Rotinas automáticas não rodam: configure o cron pela URL /cron?token=... a cada minuto.

Se você deseja apoiar o desenvolvimento diretamente:

Pix Chave
Aleatória ce05f7d1-27db-4d46-bca5-0a80c621349a

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors