Uma dica boa talvez seja falar sobre coisas superestimadas quando o assunto é servidor em casa.

Eu tenho dois exemplos: Docker e Raids. Não uso em meu servidor e vou explicar porque são superestimados.

Primeiro é o Docker, que é supostamente usado para tornar instalação fácil de fazer, sendo independente de sistema operacional e sendo declarativo portanto se for mudar de servidor não precisa configurar tudo novamente. O problema é que isso gera uma camada de abstração de conteineres que torna mais difícil a interação entre os programas, além de gastar muito mais recursos de armazenamento e cpu devido a duplicação das dependências. Eu tenho a visão de que o seu sistema operacional ja criou o gerenciador de pacotes para essa função, não precisa rodar outra coisa por cima dele, assim otimiza as dependências. A parte da declarabilidade é interessante, mas se isso for importante é melhor usar o NixOS que faz tudo que o docker faz de forma muito mais elegante e sem perda de recursos.

Agora, falando do RAID, sua função seria juntar os hds para ficarem mais rápidos e terem redundancia. Tem seu caso de uso, mas acho que para homelabs isso fica muito menos interessante. Primeiro que usa muitos hds, caro. Depois que a redundancia dos hds não é um backup, só ajuda na agilidade de para trocar um hd quando der pau. Eu tenho dois hds de 4tb cada e não faço raid pois isso seria ineficiente para os backups. Os dois hds agiriam como um, o que cumpre a função de backup do servidor no servidor, mas eu também faço backups dos pcs da casa no servidor e o raid duplicaria eles, fazendo ter três cópias de cada pc (o próprio pc, o servidor e a redundancia do servidor). Muito ineficiente. Na questão da velocidade talvez fizesse sentido, mas para homelab faz mais sentido comprar ssd, que não vai usar tanto armazenamento assim e ele gasta menos energia que dois hds ligados. não conferi os ultimos preços mas mesmo que o ssd esteja mais caro por gigabyte do que o hd ainda vale a pena. No homelab você pode ter down time, se o servidor parar por um tempo não se perde muito como num servidor profissional.

Outra coisa que acho que é meio overrated é UPS. Eu uso um arduino com bateriazinha que simplesmente liga o servidor após a luz ter caído, para que eu não precise manualmente ir ligar. UPS é overkill, não tem tanto problema ficar com down time.

  • nossaquesapaoA
    link
    fedilink
    arrow-up
    3
    ·
    7 days ago

    Uma coisa que sinto falta é uma comunidade de self-host com viés mais pro terceiro mundo. Gosto muito daqueles posts de gente montando servidor improvisado, enfiando dezenas de serviços em raspberyr pi antigo, reaproveitando celular como servidor, usando pendrive velho como armazenamento, essas coisas, mas costumam ser posts raros. A maioria é aquele monte de máquina “sobrando” que pegaram de alguém que ia jogar fora, mas que custam mais do qeu nossas máquinas principais que usamos no dia a dia. Tudo hardware superestimado pra mim

  • potatoguy@mbin.potato-guy.space
    link
    fedilink
    arrow-up
    1
    ·
    7 days ago

    Sobre o docker, tendo a discordar.

    Uso o podman, e é muito mais simples pra rodar as coisas (comparando com rodar puro na máquina), principalmente pq rodo um monte de tralha diferente, cada um tem uma imagem específica de algo, tipo o postgres, que é 14 num lugar, 16 em outra, essas coisas, além de que dá pra configurar bem fácil as múltiplas instâncias de mensageria do mbin, tenho um pra federação direta, com 4 pods e 2 pods pra coisas assíncronas, tipo batch, agregação, falha, essas coisas.

    Sobre interação e rede, só aponto pra DNS do podman que ele já é bem padrão com o linux, já roda tudo normal, as redes funcionam com o isolamento e com a integração que eu quiser, se eu quiser, tudo rootless e funciona perfeitamente (e olha que meu servidor roda no openrc kkkkkk, nem é gerenciamento pelo systemd).

    Container não perde desempenho algum, pelos meus testes, mas tendo a concordar com o espaço das imagens, mas sinceramente não acho que seja muita coisa, ainda tô com 60 gb livre dos 100 gb do SSD do sistema, qualquer coisa limpo todas as imagens e baixo de novo as mais recentes.

    É bom demais container, seloco, nem imagino se tudo rodasse na mesma máquina sem isolamento algum, ficaria doido vendo as falhas do php com 2 serviços php rodando livremente kkkkk.

    • gabrOPM
      link
      fedilink
      arrow-up
      1
      ·
      7 days ago

      entendo que para software legado o docker é as vezes necessário, mas eu me preocuparia em logo atualizar as dependências para as mais novas e usar somente para o necessário. No fim das contas você estará usando coisas sem suporte e potencialmente inseguras. container não é a bala de prata e geralmente precisamos dar todas as permissões de qualquer jeito.

      Postgresql é simples de rodar versões paralelas num mesmo sistema debian por exemplo. Não precisa de docker.

      • potatoguy@mbin.potato-guy.space
        link
        fedilink
        arrow-up
        1
        ·
        7 days ago

        Tô falando mais sobre isolamento entre serviços. De maneira alguma eu rodo com todas as permissões, cada serviço é isolado e precisa ser isolado em sua própria rede, se é necessário colocar arquivos permanentes, então é criado um volume corretamente para somente escrever nele, sem compartilhamento de arquivos, essas coisas. Container é feito pra isolamento, um não acessa coisa do outro, se um for de arrasta, os outros estão seguros.

        Rodar tudo junto, tudo compartilhado, todos tem acesso a tudo, dá pau. Não sei se sou muito paranóico, mas não arriscaria de maneira alguma.

        Postgresql é simples de rodar versões paralelas num mesmo sistema debian por exemplo.

        Rodar cada um em sua rede, com seus requisitos pinados, cada um com seus próprios arquivos de base de dados, sem chance de qualquer leak de usuário/root, mesmo que seja improvável, é uma coisa que dá umas noites bem dormidas.

        Nix é mais pra gerenciamento de pacotes, tô falando de segurança mesmo, container é feito pra isso, mesmo que tenha tido as vulnerabilidades do kernel neste ano, ainda é MUITO mais seguro que rodar tudo junto.

        Se eu não tivesse preguiça, já tinha tacado um OKD e rodado tudo kubernetes kkkkkk, por enquanto fico só no podman puro.

        • gabrOPM
          link
          fedilink
          arrow-up
          2
          ·
          5 days ago

          Realmente quanto a isolamento de processos e permissões acho que o NixOS e instalação bare metal não funciona tão bem… mas não sei se compensa para homelab