Executando verificação de segurança...
1

Estou criando um servidor caseiro, me ajuda a não fazer cagad*

Olá amigos, estou com um projeto de criar um servidor caseiro pra estudo (principalmente), armazenamento de arquivos (como fotos e vídeos) e também porque achei fascinante a arte de criar um servidor caseiro, vou dividir por camadas o que eu decidi colocar no meu servidor:

Camada 1 – Sistema
Ubuntu Server
SSH
Firewall básico (ufw)

Camada 2 – Infraestrutura

Esses serviços sustentam os outros:

ServiçoFunção
DockerBase de tudo
Docker ComposeOrquestração
PortainerGerenciamento
SMBCompartilhamento
NFSCompartilhamento Linux
BackupsSegurança de dados

Camada 3 – Serviços web e utilidades

ServiçoFunção
Pi-holeDNS / Ads
Nginx ProxyCentralizar acesso
Uptime KumaMonitoramento
NetdataMétricas

Camada 4 – Aplicações

Serviço
Jellyfin
Nextcloud
Vaultwarden
Gitea
FreshRSS
DokuWiki
VS Code Server
Jupyter
Syncthing

Depois de entender isso, minha pergunta que fica é a seguinte: o que acham dessa ideia? Tá faltando alguma coisa? Tá sobrando alguma coisa?

Obs.: meu hardware é o seguinte:

  • Intel i5 3470
  • Placa mãe H61
  • 8gb RAM DDR3 (futuramente vou adicionar mais um pente de 8gb)
  • Fonte 550w
  • SSD 256gb
  • 1 disco 2tb
  • 2 discos 1tb
  • (os HDs era o que eu tinha em casa, no momento é o que vou utilizar)
Carregando publicação patrocinada...
2

SSH
Firewall básico (ufw)

Começamos com o primeiro erro: Jamais deixe SSH ativo

Recebo em média de 1k de ataques de força bruta por hora

Deixe apenas as portas necessárias ativas, instale o tailscale e acesse o ssh pelo tailscale. (sim, eu preciso de VPN pra acessar um servidor que está na mesma rede que eu)

SMB Compartilhamento
NFS Compartilhamento Linux

Esses dois são um INFERNO configurar. Você realmente tem necessidade de mapear em outros lugares? Se for só armazenamento usa uma ferramenta de sincronização ou um filebrowser da vida

Uptime Kuma

Ele não vai servir de nada monitorando o próprio servidor, se cair ele Não vai enviar alertas

Netdata

porque não usar prometeus? o Mestre Akita fez um ótimo post configurando ele

Nextcloud

Sinceramente abandona, Nextcloud é muito difícil de configurar, mais ainda de manter. não queira ter a dor de cabeça de manter uma ferramenta complexa dessas sozinho. Um filebrowser já resolve

Vaultwarden

Você está disposto a perder todas as tuas senhas se você fizer cagada? Eu pessoalmente sempre vou confiar mais no bitwarden. Um volume corrompido e vai ser a maior dor de cabeça da vida

Gitea

Pra que se tem github free? Só vale a pena se você for uma organização

VS Code Server

Aqui de novo, qual a necessidade?


O resto dos serviços eu nem conheço. Mas já deixo a dica:

Não deixe nada que você quer que os outros acessem na sua casa. Faça o setup de uma máquina oracle (sim, é free) e coloque as coisas importantes lá.

Mantenha na sua casa apenas coisas que podem ficar ofline - Ninguem vai reclamar se o filme que elas assistirem estiver indisponível, agora o teu portifólio offline? pode perder uma vaga

Saiba que o seu servidor:

  • Vai ficar offline
  • Vai ser atacado de todas as maneiras, isole ele de forma que não consiga acessar sua LAN por ele
  • Pode corromper a qualquer momento
  • Pode queimar a qualquer momento e perder tudo
  • Vai gastar uma energia do K7
1
2

Cara, respira. Isso não é um servidor. É um ecossistema de auto-suficiência digital... O tipo de coisa que se constrói durante anos, não num fim de semana...

Não, não tá faltando nada. Tá é sobrando demais.

Docker é ótimo quando você precisa distribuir uma aplicação para um ambiente que não é o seu quarto... NFS e SMB? Cara, escolhe um e manda bala. E Netdata? Qual é a lógica de monitorar uptime de um servidor que só você acessa?

Começa pequeno. Roda o que você realmente usa. Tira o resto. Segurança não é opcional. Se for abrir pra internet, não abra. Se insistir, bota tudo atrás do nginx + SSO decente.

1

Qual é a lógica de monitorar uptime de um servidor que só você acessa?

Aqui eu monitoro com Cadvisor e Node exporter, tenho diversos alertas em relação aos containers:

Se a memória de cada container está no limite
Se a memória dio sistema total est;a no limite
Alto uso de CPU, Disco, Rede

E tenho gráficos mostrando quanto cada container individual está consumindo.

Sempre que noto alguma lentidão abro o grafana para verificar o que está acontecendo.

Então sim, é importante monitorar os recursos (depois de instalado zero manutenção)

Ainda mais que tenho mais de 30 containers no mesmo servidor hahaha