# Armazenamento externo por usuário — iDrive 1.0.3

A aplicação não depende mais da pasta `storage/` para dados persistentes.

Estrutura padrão:

```text
/var/www/arquivos/
├── users/
│   └── {ID_DO_USUARIO}/
│       ├── files/
│       ├── thumbnails/
│       ├── trash/
│       ├── versions/
│       ├── temp/
│       └── uploads/
└── system/
    ├── backups/
    ├── config/
    ├── logs/
    ├── cache/
    ├── locks/
    └── temp/
```

O ID numérico é usado no caminho físico para que alterações no nome ou e-mail do usuário não exijam mover arquivos.

## Preparação

```bash
sudo mkdir -p /var/www/arquivos
sudo chown -R www-data:www-data /var/www/arquivos
sudo chmod -R 770 /var/www/arquivos
```

## Migração da instalação atual

Na raiz do projeto:

```bash
php database/migrate_user_storage.php
```

A rotina cria as pastas dos usuários, move arquivos, versões, miniaturas, configurações, backups e o lock do instalador. Após validar upload, download, visualização, versões e backup, a pasta `storage/` antiga pode ser removida.
