Loja de apps flatpak offline

Tenha agora mesmo todos os seus aplicativos Linux salvos localmente! :penguin::package:

Desenvolvi uma solução em Bash focada em eficiência e autonomia para quem utiliza o ecossistema Flatpak: o ComiteNerd, um gerenciador de Mirror Flatpak Offline.

​O projeto nasceu de uma necessidade real: como gerenciar múltiplos computadores Linux em uma rede local sem depender repetidamente da banda de internet para baixar os mesmos gigabytes de runtimes e aplicativos (como VLC, Chrome ou LibreOffice)?

​🛠️ O que é o projeto?

​Trata-se de um conjunto de scripts que automatiza a criação de um repositório espelho (mirror) completo em um HD externo ou servidor local. Utilizando o motor do OSTree e processamento paralelo, ele sincroniza o conteúdo do Flathub para a sua rede, permitindo que outros PCs se instalem e atualizem apps “voando” pela rede local.

​🚀 Ganhos Reais:

  • Economia de Banda: Baixe o aplicativo uma única vez e distribua para quantos PCs quiser.

  • Velocidade Extrema: Instalações que levariam minutos na internet fibra agora acontecem em segundos via rede cabeada ou Wi-Fi local.

  • Filtro Inteligente: Você escolhe o que quer baixar por palavras-chave ou idiomas, evitando desperdício de espaço no HD.

​🌐 Casos de Uso e Resiliência

​O grande diferencial aparece nos momentos críticos. Imagine os seguintes cenários:

  1. Queda de Internet: Se o seu provedor falhar, o trabalho não para. Você pode formatar um PC e reinstalar todas as suas ferramentas de trabalho sem precisar de um único bit da conexão externa.

  2. Ambientes de Teste/Lab: Ideal para quem gerencia labs de informática ou casas com vários usuários (como filhos e família), garantindo que todos tenham a versão mais recente dos apps sem gargalos.

  3. Zonas com Internet Limitada: Em regiões onde a conexão é instável ou lenta, ter o “estoque” de software em mãos é um divisor de águas.

​Uma solução “raiz” feita para resolver problemas de infraestrutura doméstica e profissional com apenas um comando.

​🔗 Confira o código completo no meu GitHub: https://github.com/gtavinho/projeto_flatpak_offline

​#Linux #BashScripting opensource flatpak devops #Productivity sysadmin zorinos linuxmint

4 curtidas

boa ideia, mas como fica os updates?

1 curtida

Parabéns pela iniciativa e obrigado por compartilhar com a comunidade.

Um recurso que poderia ser bem útil seria ter uma função de apps permitidos e apps bloqueados, isso pode ser particularmente útil em dois cenários:

  • ambientes onde o usuário não pode instalar o que quiser e sim uma lista curada de programas
  • reduz o espaço em disco necessário no servidor, porque ele não precisaria fazer um mirror completo. Já que poderia baixar apenas os apps que são aprovados.

:vulcan_salute:

1 curtida

Obrigado! Essa sua ideia é genial. Dá para adicionar um recurso de criação de perfis, onde a loja disponibiliza somente os apps permitidos para determinado perfil. Isso maximiza seu uso para o ambiente empresarial.

1 curtida

O script atual já tem como entrada, um filtro de palavras chaves. Mas dá pra evoluir para perfis no futuro.

A beleza do OSTree (o motor que usei no script) é que ele funciona de forma incremental, muito parecido com o Git.

​Aqui está o que acontece quando você roda o ./main.sh novamente para buscar atualizações:

​1. O “Check-in” Inteligente

​Quando o script executa o comando ostree pull, ele não baixa tudo do zero.

  • ​Ele olha para o que você já tem no HD ($RAIZ).

  • ​Ele pergunta ao Flathub: “O VLC mudou?”.

  • Se não mudou: Ele pula instantaneamente para o próximo.

  • Se mudou: Ele baixa apenas os pedaços novos (os deltas). Se uma atualização do Chrome tem 100MB mas só 5MB mudaram, ele baixa só esses 5MB.

entendido, “Check-in” Inteligente, vou fazer testes

Frequentemente estou realizando correções. Ficarei muito feliz pela paciência de testar ajudando nos problemas.. Grato! :slight_smile:

1 curtida