Uma idéia otima para nas

primeiramente, é meu primeiro post aqui no fórum então me desculpem caso alguma coisa esteja ruim, mal feita, mal explicada ou alguma regrinha que eu não reparei tenha sido desrespeitada
eu descrevi todos os processos e alguns probleminhas que eu encontrei no processo e algumas soluções q eu também encontrei para esses problemas

bem, eu criei um nas pra mim usando um raspberry pi 4, e a forma como eu tenho usado ele acho que seria muito útil pra grande parte das pessoas que querem um nas mais completo num preço “mais baixo”, eu também usei a mesma configuração em uma plaquinha pi mais barata, o Orange pi pc Plus, mas tive problemas em relação a velocidade de leitura de dados, isso era esperado visto que ela só tem portas usb 2.0 e porta de rede 10/100
disclaimer para placas mais baratas que o raspberry pi 4
ou seja: essa configuração que eu criei pode ser usada por qualquer um em qualquer placa estilo pi, os servidores que eu usei no geral não tiveram problemas de execução ao ser usado na placa com menos potencia, apenas o problema já citado da velocidade e quando usava o emby(servidor de vídeos estilo netflix , já abordado no canal algum tempo atrás),o servidor de stream teve alguns gargalos em qualidades maiores que 720p no stream para apenas uma pessoa por vez e 360p para 2~3pessoas por vez.
hardware realmente utilizado e todas as especificações necessárias dele
visto que existem limitações para placas mais baratas vamos ao assunto principal: o servidor no raspberry pi 4
o raspberry pi 4 que eu uso é o de 2gb de ram, nessa placa com um cartão de 16gb classe 10 para o sistema, um pendrive sandisk de 16gb para a instalação do docker(sim o docker está todo a parte nesse pendrive) que está formatado para ext4,um hd de 1tb usb 3.0 para os arquivos de configuração dos containers e dados que precisam de “mais estabilidade e integridade” que está formatado para ext4,e um hd de 4tb 3.5mm da seagate com case 3.0 para os dados que podem ser readquiridos e arquivos que não são tão importantes que está formatado para btrfs e com compressão zlib:6 ou seja, o máximo de compressão possível para o sistema de arquivos btrfs(uma vez consegui por 7tb de dados nessas condições, mas devido a um problema com a case antiga perdi tudo ou seja: usem cases de qualidade para seus hds), para complementar a especificação física do raspberry pi: 1 fonte original da raspberry pi e uma fan de notebook ligada no gpio.
terminadas as especificações físicas vamos listar a parte mais importante: os softwares.
softwares instalados
antes de ir para o prato principal vou dar uma listada em todos os programas complementares instalados diretamente na maquina, visto que todos os programas principais estão diretamente instalados em docker.

docker docker-compose binutils bzip2 zstd cabextract cpio lzma p7zip-full python2.7 python3 rpm unzip unrar unshield xz-utils rsync fdupes gt5 f3 snapd network-manager jq python3-pip mergerfs

todos esses programas foram instalados diretamente com um

apt install -y

ou seja, tudo muito simples de ser instalado, ai no meio estão : programas para gerenciar arquivos compactados, python, merger fs que serve para simular raid nos discos, e o mais importante o docker com todos os programas base

ainda tem um programa snap que é o gotop-cjbassi, uma ótima interface para monitorar o hardware no server via terminal

ainda tem alguns outros programas:

github. com/nickoala/raspi-booklets/raw/master/pnpi_2.1-1_armhf.deb
rclone. org/install.sh
ports.ubuntu. com/pool/universe/d/dtrx/dtrx_7.1-2_all.deb
curl -sL “https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh” | sudo bash -s – -m raspberrypi4
zerotier. com

estes programas a cima podem não ser todos muito conhecidos, mas são todos muito uteis:
dtrx->programa para simplificar a extração de arquivos compactados, algo como o peazip para terminal
pnpi-> programa para facilitar a identificação do raspberry pi pelo terminal, serve para identificar o ip e substituir um cabo de video para configurar algumas configurações
zerotier-one -> uma espécie de hamachi gratuito para até 100 maquinas na mesma subrede, muito útil para que não seja necessário abrir seu servidor para a www e mesmo assim seja acessivel de fora de casa
hassio-> de todos esses programas deve ser o mais conhecido, é um programa para automatizar coisas iot e serviços online

containers docker
agora a cereja do bolo: os containers docker
hoje em dia os containers docker facilitam muito a vida de todos que mexem com servidores, independente de ser profissionalmente ou apenas para um nas doméstico
eu recomendo utilizar os repositórios de uma equipe fantástica chamada de linuxserver. io
eles tem uma excelente documentação e tudo é mais simplificado em relação ao backup de configurações visto que além de todos os containers deles seguirem o mesmo padrão de instalação e mesmos diretórios de configuração
os programas instalados via docker são:

portainer/portainer-ce
portainer é um orquestrador docker, ou seja, o lugar onde você vai gerenciar seus containers, ele possui uma interface web muito intuitiva e rápida de se aprender a usar

linuxserver/swag
swag é a implementação do linuxserver de letsencrypt+nginx+duckdns letsencrypt é um programa para gerar chave ssl, ou seja seu servidor terá https, nginx é o programa para subir paginas web, mas ele possui uma configuração pré existende para criar automáticamente o endereçamento de subdominio/subdiretório para cada serviço online existente no servidor, duckdns é um sistema para ,de forma gratuita, você adiquirir um hostname para a www

https://github.com/mzramna/aria2-alpine.git#master
esta é uma implementação do aria 2 feito por mim para que seja extremamente fácil de gerar um servidor de downloads aria2,ele dá pra ser usado para baixar tanto arquivos ftp, quanto http quanto torrent, ao meu ver a melhor forma de se baixar coisas diretamente para um nas

linuxserver/emby
emby é um servidor de vídeos e alguns outros tipos e media para que possam ser consumidos via stream, funciona da mesma forma que uma netflix, existe um vídeo do canal diolinux explicando mais profundamente sobre

pihole/pihole
pihole é um servidor dns que impede sites de propaganda e rastreio de serem acessados pela rede local, basicamente deve ser configurado no servidor para usar ele em vez do 8.8.8.8 do google ou o 1.1.1.1 do cloudfare, em grande parte das vezes ele acaba sendo ainda mais rápido e mais estável que estes outros 2 previamente ditos, visto que ele testa nesses 2 e mais alguns outros a fim de ter a resposta de forma mais rápida, ele irá também fazer um cache das consultas feitas previamente

linuxserver/heimdall
heimdall é uma pagina web para facilitar e embelezar o acesso ao servidor, apenas para ser mais bonita a pagina inicial do site e você listar todos os serviços instalados no seu servidor

linuxserver/mariadb
mariadb é um banco de dados, usado primariamente para que o nextcloud salve seus dados, e também uso para desenvolver alguns programas meus

phpmyadmin:fpm-alpine
phpmyadmin é uma interface web para gerenciar o mariadb e o mysql

linuxserver/nextcloud
nextcloud é o coração do nas: ele é um sistema online análogo ao google drive, ele tem grande parte das funcionalidades dos serviços google, des do keep, gmail, hangouts, maps e principalmente drive
o nextcloud possui aplicativo para todos os sistemas operacionais que eu conheço sendo assim pode ser usado como sistema de backup automático para todos seus dispositivos

osixia/openldap
openldap é um ldap opensource,ldap serve primariamente para que os logins e senhas de todos os servidores previamente ditos precisem apenas ser criados aqui e os outros irão automaticamente reconhecê-los, melhor que criar o mesmo usuário com mesma senha em cada um não?

osixia/phpldapadmin
phpldapmin funciona da mesma forma q o phpmyadmin, mas para o ldap, é uma interface web para gerenciar ele

implementação do docker
bem agora que todos os programas estão devidamente explicados e listados, vamos a alguns detalhes mais completos sobre a implementação:
para implementar eu recomendo sempre deixar esses servidores ligados e de forma a serem iniciados automaticamente com o servidor(ou seja restart mode always):
portainer, ldap, pihole, mariadb, letsencrypt(swag) e nextcloud
estes serviços são o mais essencial para o funcionamento do servidor, sem eles a sua própria rede de internet doméstica pode não funcionar corretamente(principalmente o pihole nesse ponto da internet doméstica)
os containers que devem ser iniciados manualmente, mas não devem fechar a menos que seja explicitamente dito para isso ocorrer(ou seja restart unless-stopped):
emby, heimdall e aria2
e os containers que eu recomendo só serem ligados quando forem ser utilizados(ligar pelo portainer)(ou seja sem restart):
phpmyadmin e phpldapmin

estes serviços todos que possuem interface web eu fiz de forma a só serem acessíveis através do letsencrypt(swag) ou seja: o único container que possui uma interface web que possui porta web exposta(só por segurança do letsencrypt dar algum pau) é o portainer, todos os outros só podem ser acessíveis pelo letsencrypt e não possuem forma de serem acessíveis ,o que torna tudo mais seguro, visto que possíveis vulnerabilidades são tratadas por esse motivo

os únicos que tem portas expostas são portainer,aria2,pihole,mariadb e ldap, todos (exceto o portainer) estão expostos pq podem ser acessíveis por aplicações ,no caso do pihole só funciona se a porta de dns estiver acessível.
por motivos de segurança o mariadb possui 3 usuarios: root, meu usuario e nextcloud,o root possui uma senha aleatória gerada automaticamente pelo container, meu usuario possui acesso de qualquer ip e um usuario e senha que eu sei para usar nas minhas aplicações e por fim nextcloud,que só pode ser acessivel pelos ips da rede docker que ele pertence, com usuario e senha genéricos, já que não podem ser acessíveis por maquinas externas

só para finalizar
eu não irei por diretamente aqui meu docker-compose e nem meu script de instalação do servidor por hora, já que seria possível descobrir dados importantes dele pelos arquivos, mas eu irei dar uma limpada dos meus dados e posteriormente postarei no github e colocarei aqui.
mas espero ter dado boas ideias para vocês que também querem ter um nas doméstico que realmente seja bom de ser usado

2 Curtidas

A única coisa que notei de errado no texto foi a falta de espaço ente vírgulas, além da letra minúscula no começo de frases. Fora isto, o texto está excepcional, parabéns!

(Não me leve a mal, não estou atacando ninguém, apenas dando meu feedback)

é,eu tenho um probleminha com isso no pc devido ao costume com corretor de celular kkk mas qualquer feedback é um bom feedback,vou dar uma corrigida nisso asap