Esta é uma API de gerenciamento e controle de arquivos construída em NestJS, que oferece funcionalidades de armazenamento de arquivos, controle de acesso e permissões, e encriptação de dados. O projeto também conta com suporte para deploy via Docker.
- Armazenamento de Arquivos: Upload, download e remoção de arquivos.
- Controle de Acesso: Definição de permissões para usuários, garantindo segurança no acesso aos arquivos.
- Encriptação de Dados: Todos os arquivos são armazenados de forma encriptada.
- Suporte a Docker: Imagem Docker pronta para deploy em qualquer ambiente.
- Node.js v14 ou superior
- NestJS CLI
- Docker (para deploy com Docker)
git clone https://github.com/DevtApps/cloudbox.git
cd nestjs-file-managerpnpm install
Crie um arquivo .env na raiz do projeto com as seguintes variáveis de ambiente:
# Ponto de montagem dos arquivos
point=cloudbox
# Base de dados
POSTGRES_HOST=localhost
POSTGRES_DATABASE=cloudbox
POSTGRES_USERNAME=postgres
POSTGRES_PASSWORD=12345678
# Url base para compartilhamento dos arquivos
BASE_URL=http://localhost:3001
# Chaves de encriptação SHA256
IV=
KEY=
Para rodar a API em ambiente de desenvolvimento
npm run start:dev
A API estará disponível em http://localhost:3001.
Para gerar o build do projeto:
pnpm run build
- Construa a imagem Docker:
docker build -t cloudbox .
- Execute o container:
docker run -d -p 3000:3001 --name cloudbox-api cloudbox
Contribuições são bem-vindas! Sinta-se à vontade para abrir um pull request ou relatar problemas no repositório.
Este projeto está licenciado sob a MIT License.