Skip to content

Repository files navigation

🔒 Publish Drive

Nuvem de arquivos privada, self-hosted, em PHP puro — sem banco de dados e sem dependências externas. Upload, organização em pastas, pré-visualização de mídia, compartilhamento por link e agenda integrada, tudo instalável como aplicativo (PWA).

✨ Funcionalidades

  • Gerenciador de arquivos com pastas, renomear, mover, excluir e busca
  • Upload com arrastar-e-soltar e envio de múltiplos arquivos
  • Pré-visualização de imagens, vídeos, áudio e PDF direto no navegador
  • Miniaturas e previews geradas em segundo plano (media-worker.php)
  • Compartilhamento por link com validade e proteção por senha
  • Autenticação em dois fatores (2FA) por TOTP — compatível com Google Authenticator
  • Agenda/calendário integrada (calendar.php)
  • PWA: instala como aplicativo no celular e no computador, com service worker
  • Sem banco de dados: os metadados ficam em arquivos JSON

📸 Tela

Publish Drive — nuvem de arquivos privada self-hosted em PHP, desenvolvida por Alex Junior (alequizao)

📦 Manual de instalação

Requisitos

Componente Versão Observação
PHP 7.4+ com gd, fileinfo, mbstring
Apache 2.4 com .htaccess habilitado
ffmpeg opcional apenas para miniatura de vídeo

1. Colocar os arquivos no servidor

git clone https://github.com/alequizao/publish-drive.git
cd publish-drive

2. Configurar

cp .env.example .env

Edite o .env:

DEFAULT_ADMIN_USER=admin
DEFAULT_ADMIN_PASS=defina-uma-senha-forte
APP_SECRET=gere-uma-string-aleatoria-longa-aqui   # openssl rand -hex 24
APP_TZ=America/Maceio

Atenção: trocar o APP_SECRET depois de o sistema estar em uso invalida os links de compartilhamento já criados. Defina-o uma vez, na instalação.

3. Permissões

mkdir -p uploads .thumbs .previews
chown -R www-data:www-data uploads .thumbs .previews

4. Primeiro acesso

Abra https://seu-dominio/ e entre com o usuário do .env. O usuarios.json é criado automaticamente no primeiro login. Troque a senha e ative o 2FA em seguida.

5. Miniaturas em segundo plano (opcional)

* * * * * php /caminho/do/projeto/media-worker.php >/dev/null 2>&1

🔐 Segurança

O .htaccess bloqueia o acesso web ao .env, ao usuarios.json e aos arquivos de metadados. Nada disso vai para o Git: o repositório contém apenas o código, nunca os arquivos enviados pelos usuários nem as credenciais.


👨‍💻 Desenvolvedor

Projetado e desenvolvido 100% por Alex Junior (alequizao) — da ideia ao deploy: levantamento, modelagem do banco, backend, interface e publicação em produção. Analista e Desenvolvedor de Sistemas em Maceió, Alagoas, Brasil. Programador na Publish Digital.


© Código proprietário, desenvolvido sob encomenda. Uso, cópia ou redistribuição somente com autorização.

About

Nuvem de arquivos privada self-hosted em PHP puro, sem banco de dados — upload, preview de mídia, compartilhamento por link, 2FA e PWA. Desenvolvido sob encomenda por Alex Junior (alequizao).

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages