Oque é o raspadmin files?
O raspadmin files é um projeto open source desenvolvido por mim para facilitar a listagem de arquivos em um servidor linux, objetivo incial era ser usado em um raspberrypi mas pode ser usado em qualquer distribuição linux.
Quais são as funções do raspadmin files?
O projeto cria uma interface web para uma pasta contendo vários arquivos, por essa interface você pode listar arquivos de uma pasta, abrir arquivos de média como vídeo ou áudio, pode baixar arquivos e compartilhar em uma rede local ou pública.
Como instalo?
O processo é bem simples, primeiro vamos instalar os programas necessários.
O primeiro é o git, para clonar o repositório.
sudo apt install git
Após instalar o git vamos clonar o repositório, por padrão os servidores nodejs são criados na pasta /srv
.
mas você pode instalar em qualquer pasta dentro da sua distribuição linux.
Digitando o comando cd /srv
para entra-mos na pasta vamos clonar o repositório usando o seguinte comando.
git clone https://github.com/mundotv789123/raspadmin-files-react.git
Vamos entrar na pasta do projeto, digitando o comando cd raspadmin-files-react/
.
Dentro da pasta teremos um script automático de instalação, esse script irá instalar todas as dependencias inclusive o docker e docker-composer.
Para executar o script basta executat bash ./setup.sh
Após tudo instalado vamos configurar, dentro o arquivo docker-compose.yml
teremos as seguintes configurações.
version: '3.1'
services:
raspadmin:
image: 'node:16.15.0'
working_dir: '/app'
container_name: 'raspadmin_files'
command: 'sh -c "chmod 755 ./setup.sh && ./setup.sh start"'
ports:
- '8080:3000'
volumes:
- './:/app'
- './files:/mnt/files'
environment:
NEXT_PUBLIC_API_URL: '/api'
# Coloque aqui uma chave aleatória para encriptação da chave jwt
API_AUTH_KEY: ''
API_USERNAME: 'admin'
API_PASSWORD: 'admin'
API_DIR: '/mnt/files'
Primeiro vamos configurar os volumes, o primeiro volume é o ./:/app
, esse volume não iremos mexer, pois é onde o código em nodejs será executado, o segundo volume é o ./files:/mnt/files
, oq isso singifica? , significa que a pasta que o projeto irá listar todos os arquivo está na pasta files na raiz do projeto, você pode alterar para qualquer outra pasta, caso queira pode deixar a pasta padrão.
Agora vamos nos atentar a parte do environment:
Aqui nos temos algumas opções, a primeira opção API_AUTH_KEY:
, essa opção você terá que definir uma chave aleatória, essa chave será usada para encriptação e autenticação, caso você não queira usar uma senha para acessar os arquivo essa opção não é necessária, mas caso queira usar uma senha você terá que definiar a senha em API_PASSWORD:
, que por padrão é 'admin', o resto não precisa mexer.
Também temos configurações de portas, em ports:
, por padrão a porta é 8080, para alterar basta mudar a primeira porta sem editar a segunda, exemplo caso queira usar a porta padrão 80 - '80:3000'
.
Ok, com o projeto pronto e configurado vamos reiniciar o serviço, bastando executar service raspadmin restart
.
Lembrando que a primeira inicialização pode demorar um pouco, de 5 a a 10min, caso queira você pode ver os logs de inicialização entrando na pasta do projeto suando cd /srv/raspadmin-files-react
e em seguinda executando docker-composer logs -f
, para fechar os logs basta dar um ctrl + c, e pronto!
No readme.md do github tem um mini tutorial caso você queira usar o nginx como proxy, para usar certficado ssl.