{"id":1691,"date":"2026-09-23T11:33:46","date_gmt":"2026-09-23T14:33:46","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/?p=1691"},"modified":"2026-09-23T11:34:36","modified_gmt":"2026-09-23T14:34:36","slug":"filebrowser-quantum-o-sucessor-do-file-browser-que-foi-arquivado","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2026\/09\/filebrowser-quantum-o-sucessor-do-file-browser-que-foi-arquivado\/","title":{"rendered":"FileBrowser Quantum: el sucesor de File Browser, que fue archivado"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/09\/filebrowser-quantum-v1.webp\" alt=\"Mascote LinuxPro levando uma pasta de arquivos de uma caixa de arquivo morto empoeirada at\u00e9 um monitor com o FileBrowser Quantum, com o cachorro caramelo cyborg sentado ao lado\" width=\"1486\" height=\"856\" \/><\/p>\n<p>O <strong>File Browser<\/strong> foi, por uma d\u00e9cada, a resposta mais simples para quem queria acessar os arquivos de um servidor pelo navegador: um bin\u00e1rio em Go, uma pasta, uma porta. No dia 1\u00ba de setembro de 2026 o reposit\u00f3rio <a href=\"https:\/\/github.com\/filebrowser\/filebrowser\">filebrowser\/filebrowser<\/a>, com quase 36 mil estrelas, foi arquivado. N\u00e3o haver\u00e1 mais vers\u00f5es, corre\u00e7\u00f5es de bugs nem de seguran\u00e7a. Quem ainda roda o File Browser em produ\u00e7\u00e3o precisa de um plano, e o candidato natural \u00e9 o <strong>FileBrowser Quantum<\/strong>, um fork que j\u00e1 tinha seguido caminho pr\u00f3prio muito antes do fim do original. Neste post, voc\u00ea vai entender por que o projeto acabou, o que o Quantum muda e como subir o Quantum com Docker, systemd e Nginx.<\/p>\n<p><!-- more --><\/p>\n<h2>Por que o File Browser acabou<\/h2>\n<p>O File Browser nasceu como um plugin do servidor web <a href=\"https:\/\/caddyserver.com\/\">Caddy<\/a>, escrito por <a href=\"https:\/\/hacdias.com\/\">Henrique Dias<\/a> quando ele tinha 15 anos, e virou projeto independente depois. Em 2020, Henrique j\u00e1 tinha se despedido uma vez (<a href=\"https:\/\/hacdias.com\/2020\/01\/23\/bye-filebrowser\/\">Goodbye File Browser<\/a>) e passado a manuten\u00e7\u00e3o para a comunidade. Mantenedores vieram e foram embora, e no fim de 2025 o projeto estava h\u00e1 cerca de um ano sem manuten\u00e7\u00e3o. Ele reassumiu.<\/p>\n<p>Em mar\u00e7o de 2026, no texto <a href=\"https:\/\/hacdias.com\/2026\/03\/11\/filebrowser\/\">Update On File Browser<\/a>, ele colocou o projeto em modo <em>somente manuten\u00e7\u00e3o<\/em>: nada de recursos novos, prioridade para bugs e seguran\u00e7a. O problema \u00e9 que os alertas de seguran\u00e7a n\u00e3o pararam de chegar. Em 28 de julho de 2026, veio o an\u00fancio definitivo, <a href=\"https:\/\/hacdias.com\/2026\/07\/28\/filebrowser\/\">Goodbye File Browser, for Real This Time<\/a>. A \u00faltima vers\u00e3o planejada, a <code>v2.63.23<\/code>, saiu em 27 de julho, e o arquivamento ficou marcado para 1\u00ba de setembro.<\/p>\n<p>Os motivos est\u00e3o no pr\u00f3prio texto, e s\u00e3o tr\u00eas:<\/p>\n<ul>\n<li><strong>O c\u00f3digo n\u00e3o tem conserto por remendo.<\/strong> Segundo o autor, o File Browser precisaria ser reescrito do zero com seguran\u00e7a e uma boa API em mente, coisas que n\u00e3o estavam na cabe\u00e7a de um adolescente de 15 anos. O exemplo mais claro s\u00e3o as sess\u00f5es: tokens expirados continuam funcionando em algumas situa\u00e7\u00f5es, e o logout n\u00e3o invalida o token.<\/li>\n<li><strong>Falta de tempo.<\/strong> Algumas horas na maioria dos fins de semana, lendo issues e alertas, n\u00e3o bastavam para manter a qualidade que ele queria.<\/li>\n<li><strong>Falta de vontade.<\/strong> Era um projeto de mais de dez anos atr\u00e1s, que cumpriu o objetivo, e manter um c\u00f3digo que ele mesmo n\u00e3o considera bom deixou de dar prazer.<\/li>\n<\/ul>\n<p>Os n\u00fameros confirmam o diagn\u00f3stico. A <a href=\"https:\/\/github.com\/filebrowser\/filebrowser\/security\/advisories\">p\u00e1gina de alertas de seguran\u00e7a<\/a> do reposit\u00f3rio lista 62 advisories publicados, 50 deles s\u00f3 em 2026, quatro classificados como cr\u00edticos. Entre eles h\u00e1 inje\u00e7\u00e3o de comando antes da autentica\u00e7\u00e3o no <em>hook<\/em> de login, usu\u00e1rios de autocadastro herdando a raiz do servidor como escopo e links simb\u00f3licos que deixam um usu\u00e1rio ler e gravar fora da sua pasta.<\/p>\n<h3>O que ficou sem corre\u00e7\u00e3o<\/h3>\n<p>O README do projeto arquivado lista duas classes de problema que <strong>n\u00e3o ser\u00e3o corrigidas<\/strong>:<\/p>\n<ul>\n<li><strong>Execu\u00e7\u00e3o de comandos, runner e hooks.<\/strong> O recurso acumula vulnerabilidades e precisaria de reescrita. Vem desligado por padr\u00e3o; se algu\u00e9m o religar com <code>--disable-exec=false<\/code>, rodar comandos pela interface equivale a ter shell no servidor.<\/li>\n<li><strong>Sess\u00f5es e JWT.<\/strong> As sess\u00f5es s\u00e3o JWTs autocontidos, sem identificador no servidor, e por isso n\u00e3o podem ser revogadas. Logout, troca de senha e renova\u00e7\u00e3o deixam os tokens antigos v\u00e1lidos at\u00e9 expirar, e o mesmo token de renova\u00e7\u00e3o pode ser usado v\u00e1rias vezes. Um token vazado vale at\u00e9 o fim da validade.<\/li>\n<\/ul>\n<p>A orienta\u00e7\u00e3o oficial para quem continuar usando \u00e9 tratar o File Browser como software sem manuten\u00e7\u00e3o: n\u00e3o expor direto \u00e0 internet, colocar um proxy reverso que termine o TLS e fa\u00e7a autentica\u00e7\u00e3o pr\u00f3pria, manter o executor de comandos desligado e rodar sem privil\u00e9gios, dentro de um cont\u00eainer, montando s\u00f3 a pasta que precisa ser servida. O pr\u00f3prio Henrique diz preferir que os usu\u00e1rios migrem para uma alternativa, sem recomendar nenhuma espec\u00edfica.<\/p>\n<h2>O que \u00e9 o FileBrowser Quantum<\/h2>\n<p>O <a href=\"https:\/\/github.com\/gtsteffaniak\/filebrowser\">FileBrowser Quantum<\/a> \u00e9 um fork mantido por Graham Steffaniak. O reposit\u00f3rio existe desde junho de 2023, bem antes do fim do original, e hoje tem cerca de 8,4 mil estrelas. A licen\u00e7a continua a mesma, <strong>Apache 2.0<\/strong>, e o c\u00f3digo tamb\u00e9m \u00e9 Go, com a interface web embutida no bin\u00e1rio.<\/p>\n<p>O README descreve o Quantum como um &#8220;fork massivo&#8221;: mudou a forma de configurar, de autenticar, de buscar e de compartilhar. Na pr\u00e1tica, o que muda para quem vem do original:<\/p>\n<ul>\n<li><strong>V\u00e1rias fontes de arquivos<\/strong> (<em>sources<\/em>) ao mesmo tempo, cada uma com regras de inclus\u00e3o e exclus\u00e3o.<\/li>\n<li><strong>Autentica\u00e7\u00e3o<\/strong> por senha com 2FA, OIDC (SSO), LDAP, JWT e proxy.<\/li>\n<li><strong>Configura\u00e7\u00e3o em um \u00fanico <code>config.yaml<\/code><\/strong>, em vez de flags de linha de comando e ajustes guardados no banco.<\/li>\n<li><strong>Busca indexada<\/strong>, com resultados enquanto voc\u00ea digita e filtros por tamanho, inclusive de pastas.<\/li>\n<li><strong>Miniaturas<\/strong> de v\u00eddeo, documentos de escrit\u00f3rio, capas de \u00e1lbum e modelos 3D, al\u00e9m de tamanho de pastas na listagem.<\/li>\n<li><strong>WebDAV<\/strong> para montar os arquivos como unidade de rede.<\/li>\n<li><strong>Compartilhamentos configur\u00e1veis<\/strong>: validade, usu\u00e1rios permitidos (inclusive an\u00f4nimos), tema e permiss\u00e3o de ver, editar ou enviar arquivos.<\/li>\n<li><strong>API com tokens de longa dura\u00e7\u00e3o<\/strong> e documenta\u00e7\u00e3o Swagger em <code>\/swagger<\/code>.<\/li>\n<li><strong>Controle de acesso<\/strong> por usu\u00e1rio ou grupo e por caminho dentro de cada fonte.<\/li>\n<\/ul>\n<p>E, t\u00e3o importante quanto o que entrou, o que saiu: <strong>o terminal e a execu\u00e7\u00e3o de comandos foram removidos<\/strong>, e o README diz que n\u00e3o voltar\u00e3o. \u00c9 justamente a \u00e1rea que o autor original declarou imposs\u00edvel de consertar.<\/p>\n<h2>Stable ou beta: qual vers\u00e3o usar<\/h2>\n<p>O Quantum tem dois canais, e a <a href=\"https:\/\/filebrowserquantum.com\/en\/docs\/getting-started\/version\/\">documenta\u00e7\u00e3o de vers\u00f5es<\/a> explica bem a diferen\u00e7a:<\/p>\n<ul>\n<li><strong>stable (v1.5.x)<\/strong>: a vers\u00e3o recomendada para quem est\u00e1 come\u00e7ando e para produ\u00e7\u00e3o. Atualiza a cada um a tr\u00eas meses. Na data deste post, a mais recente \u00e9 a <code>v1.5.6-stable<\/code>, de 4 de setembro de 2026. Usa o banco legado <code>database.db<\/code>.<\/li>\n<li><strong>beta (v2.0.0)<\/strong>: atualiza a cada uma a tr\u00eas semanas e troca o banco chave-valor por SQLite (<code>filebrowser.sqlite<\/code>), com camada de estado em mem\u00f3ria, log de atividades e permiss\u00f5es por fonte (ver, baixar, modificar, criar e apagar). Exige migra\u00e7\u00e3o \u00fanica do banco e da configura\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>Este guia usa a <strong>stable<\/strong>. As imagens ficam no Docker Hub (<code>gtstef\/filebrowser<\/code>) e no GitHub Container Registry (<code>ghcr.io\/gtsteffaniak\/filebrowser<\/code>). A tag <code>stable<\/code> traz FFmpeg e pr\u00e9-visualiza\u00e7\u00e3o de documentos; a <code>stable-slim<\/code> tem s\u00f3 o servi\u00e7o e tamb\u00e9m roda em ARM 32 bits, como Raspberry Pi antigos. Em produ\u00e7\u00e3o, a documenta\u00e7\u00e3o sugere fixar a s\u00e9rie, por exemplo <code>1.5-stable<\/code>, para receber corre\u00e7\u00f5es sem pular de vers\u00e3o principal.<\/p>\n<h2>Arquitetura do guia<\/h2>\n<p>A montagem que vamos fazer \u00e9 a mais comum em servidor: o Quantum roda em cont\u00eainer, publicado s\u00f3 em <code>127.0.0.1<\/code>, e o Nginx fica na frente com TLS. As pastas de arquivos entram como volumes (as <em>sources<\/em>), e a configura\u00e7\u00e3o, o banco e o cache ficam juntos no diret\u00f3rio <code>data<\/code>, que \u00e9 o que voc\u00ea precisa copiar no backup.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/09\/filebrowser-quantum-arquitetura.webp\" alt=\"Diagrama: usu\u00e1rios e links p\u00fablicos passam pelo Nginx com TLS at\u00e9 o cont\u00eainer do FileBrowser Quantum, que l\u00ea as fontes de arquivos e guarda config.yaml e banco no volume data\" width=\"1200\" height=\"620\" loading=\"lazy\" \/><\/p>\n<h2>Teste r\u00e1pido com Docker<\/h2>\n<p>Para olhar a interface antes de configurar qualquer coisa, sem persist\u00eancia:<\/p>\n<pre><code class=\"language-bash\">docker run --rm -p 127.0.0.1:8080:80 -v \"$PWD:\/srv\" gtstef\/filebrowser:stable<\/code><\/pre>\n<p>Abra <code>http:\/\/127.0.0.1:8080<\/code> e entre com <code>admin<\/code> \/ <code>admin<\/code>. A pasta atual aparece como fonte. Quando fechar o cont\u00eainer, tudo o que foi configurado some.<\/p>\n<h2>Instala\u00e7\u00e3o com Docker Compose<\/h2>\n<p>Crie a estrutura. No cont\u00eainer, o arquivo de configura\u00e7\u00e3o padr\u00e3o fica em <code>\/home\/filebrowser\/data\/config.yaml<\/code>, por isso a configura\u00e7\u00e3o, o banco e o cache v\u00e3o todos para <code>.\/data<\/code>:<\/p>\n<pre><code class=\"language-bash\">mkdir -p filebrowser\/data &amp;&amp; cd filebrowser<\/code><\/pre>\n<p>Crie <code>data\/config.yaml<\/code> com duas fontes, uma pasta de arquivos gerais e outra da equipe:<\/p>\n<pre><code class=\"language-yaml\">server:\n  cacheDir: \/home\/filebrowser\/data\/tmp\n  externalUrl: \"https:\/\/arquivos.exemplo.com.br\"\n  sources:\n    - path: \/arquivos\n      name: \"Arquivos\"\n      config:\n        defaultEnabled: true\n    - path: \/equipe\n      name: \"Equipe\"\n\nauth:\n  adminUsername: admin<\/code><\/pre>\n<p>Os caminhos em <code>sources<\/code> s\u00e3o os de <strong>dentro do cont\u00eainer<\/strong>. <code>defaultEnabled: true<\/code> d\u00e1 acesso \u00e0 fonte para todos os usu\u00e1rios; a fonte <code>Equipe<\/code>, sem essa op\u00e7\u00e3o, precisa ser liberada pelo administrador para cada usu\u00e1rio. <code>externalUrl<\/code> \u00e9 o endere\u00e7o p\u00fablico usado nos links de compartilhamento. A documenta\u00e7\u00e3o avisa: nunca use a raiz <code>\/<\/code> como fonte, nem uma pasta que inclua <code>\/var<\/code>.<\/p>\n<p>Agora o <code>compose.yaml<\/code>:<\/p>\n<pre><code class=\"language-yaml\">services:\n  filebrowser:\n    image: gtstef\/filebrowser:1.5-stable\n    restart: unless-stopped\n    environment:\n      FILEBROWSER_ADMIN_PASSWORD: \"${FB_ADMIN_PASSWORD}\"\n    volumes:\n      - \/srv\/arquivos:\/arquivos\n      - \/srv\/equipe:\/equipe\n      - .\/data:\/home\/filebrowser\/data\n    ports:\n      - \"127.0.0.1:8080:80\"<\/code><\/pre>\n<p>A senha do administrador sai de uma vari\u00e1vel de ambiente, n\u00e3o do YAML. Guarde-a num <code>.env<\/code> com permiss\u00e3o restrita e suba o servi\u00e7o:<\/p>\n<pre><code class=\"language-bash\">printf 'FB_ADMIN_PASSWORD=%s\\n' \"$(openssl rand -base64 24)\" &gt; .env\nchmod 600 .env\ndocker compose up -d\ndocker compose ps\ncurl -s -o \/dev\/null -w '%{http_code}\\n' http:\/\/127.0.0.1:8080\/health<\/code><\/pre>\n<p>A imagem j\u00e1 traz um <code>HEALTHCHECK<\/code> que consulta <code>\/health<\/code> na porta 80. Se voc\u00ea mudar <code>server.port<\/code> no <code>config.yaml<\/code>, sobrescreva o healthcheck no Compose com a porta nova. Mudan\u00e7as no <code>config.yaml<\/code> exigem reiniciar o cont\u00eainer com <code>docker compose restart<\/code>.<\/p>\n<p>Se Docker ainda \u00e9 novidade para voc\u00ea, vale ler <a href=\"\/2026\/09\/a-historia-do-docker\">a hist\u00f3ria do Docker<\/a> para entender de onde v\u00eam volumes, imagens e o Compose.<\/p>\n<h2>Sem Docker: bin\u00e1rio com systemd<\/h2>\n<p>O Quantum tamb\u00e9m \u00e9 distribu\u00eddo como bin\u00e1rio para Linux em <code>amd64<\/code>, <code>arm64<\/code>, <code>armv6<\/code> e <code>armv7<\/code>. As pr\u00e9-visualiza\u00e7\u00f5es de v\u00eddeo dependem do FFmpeg instalado no sistema:<\/p>\n<pre><code class=\"language-bash\">VERSION=v1.5.6-stable\nARCH=amd64    # ou arm64, armv7, armv6\n\nsudo apt install -y ffmpeg\ncurl -fL -o \/tmp\/filebrowser \\\n  \"https:\/\/github.com\/gtsteffaniak\/filebrowser\/releases\/download\/${VERSION}\/linux-${ARCH}-filebrowser\"\nsudo install -m 0755 \/tmp\/filebrowser \/usr\/local\/bin\/filebrowser\n\nsudo useradd --system --shell \/usr\/sbin\/nologin --home-dir \/opt\/filebrowser filebrowser\nsudo install -d -o filebrowser -g filebrowser -m 0750 \/opt\/filebrowser<\/code><\/pre>\n<p>Crie <code>\/opt\/filebrowser\/config.yaml<\/code>, agora com os caminhos reais do servidor e escutando na porta 8080 (portas abaixo de 1024 exigiriam root):<\/p>\n<pre><code class=\"language-yaml\">server:\n  port: 8080\n  externalUrl: \"https:\/\/arquivos.exemplo.com.br\"\n  sources:\n    - path: \/srv\/arquivos\n      name: \"Arquivos\"\n      config:\n        defaultEnabled: true\n\nauth:\n  adminUsername: admin<\/code><\/pre>\n<p>O usu\u00e1rio <code>filebrowser<\/code> precisa ter permiss\u00e3o de leitura e escrita nas pastas das fontes. Depois, a unit <code>\/etc\/systemd\/system\/filebrowser.service<\/code>, baseada na da <a href=\"https:\/\/filebrowserquantum.com\/en\/docs\/getting-started\/linux-v1.5.x\/\">documenta\u00e7\u00e3o de instala\u00e7\u00e3o em Linux<\/a>:<\/p>\n<pre><code class=\"language-ini\">[Unit]\nDescription=FileBrowser Quantum\nAfter=network.target\n\n[Service]\nType=simple\nUser=filebrowser\nWorkingDirectory=\/opt\/filebrowser\nEnvironmentFile=\/opt\/filebrowser\/filebrowser.env\nExecStart=\/usr\/local\/bin\/filebrowser -c \/opt\/filebrowser\/config.yaml\nRestart=on-failure\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo chown filebrowser:filebrowser \/opt\/filebrowser\/config.yaml\nprintf 'FILEBROWSER_ADMIN_PASSWORD=%s\\n' \"$(openssl rand -base64 24)\" | sudo tee \/opt\/filebrowser\/filebrowser.env &gt;\/dev\/null\nsudo chmod 600 \/opt\/filebrowser\/filebrowser.env\nsudo systemctl daemon-reload\nsudo systemctl enable --now filebrowser\njournalctl -u filebrowser -f<\/code><\/pre>\n<p>Para ir al\u00e9m de <code>enable<\/code> e <code>journalctl<\/code>, veja o guia de <a href=\"\/2026\/09\/dominando-o-systemd-comandos-essenciais\">comandos essenciais do systemd<\/a>.<\/p>\n<h2>Atr\u00e1s do Nginx com HTTPS<\/h2>\n<p>O Quantum usa cookies para a sess\u00e3o e eventos em tempo real (SSE) para atualizar a interface, ent\u00e3o o proxy precisa repassar o <code>Host<\/code> e n\u00e3o pode bufferizar a resposta. Uploads grandes tamb\u00e9m exigem aumentar o limite de corpo do Nginx:<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 443 ssl;\n    server_name arquivos.exemplo.com.br;\n\n    ssl_certificate     \/etc\/letsencrypt\/live\/arquivos.exemplo.com.br\/fullchain.pem;\n    ssl_certificate_key \/etc\/letsencrypt\/live\/arquivos.exemplo.com.br\/privkey.pem;\n\n    location \/ {\n        proxy_pass http:\/\/127.0.0.1:8080;\n        proxy_set_header Host $host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n        proxy_buffering off;\n        client_max_body_size 10G;\n    }\n}<\/code><\/pre>\n<p>O certificado pode ser emitido com <code>certbot --nginx -d arquivos.exemplo.com.br<\/code>. Se quiser servir o Quantum num subcaminho, como <code>https:\/\/exemplo.com.br\/files\/<\/code>, ajuste <code>server.baseURL<\/code> no <code>config.yaml<\/code> e o <code>location<\/code> no Nginx. O <a href=\"https:\/\/filebrowserquantum.com\/en\/docs\/getting-started\/reverse-proxy-v1.5.x\/\">guia de proxy reverso<\/a> tem exemplos tamb\u00e9m para Traefik e Caddy.<\/p>\n<p>Um detalhe \u00fatil: as rotas de compartilhamento ficam separadas em <code>\/public\/<\/code>. Se voc\u00ea colocar autentica\u00e7\u00e3o no proxy (um <code>auth_request<\/code>, por exemplo), pode deixar <code>\/public\/<\/code> de fora, e os links compartilhados continuam funcionando sem login no proxy, protegidos pelo pr\u00f3prio hash e pela senha do compartilhamento. Rotas como <code>\/api\/<\/code>, <code>\/dav\/<\/code> e <code>\/swagger\/<\/code> sempre exigem usu\u00e1rio autenticado.<\/p>\n<h2>Migrando do File Browser original<\/h2>\n<p>N\u00e3o \u00e9 troca de imagem: o formato de configura\u00e7\u00e3o mudou. O Quantum l\u00ea tudo de um <code>config.yaml<\/code>, enquanto o original usava flags de linha de comando e ajustes guardados no banco. O <a href=\"https:\/\/filebrowserquantum.com\/en\/docs\/getting-started\/migration\/configuration\/\">guia de migra\u00e7\u00e3o de configura\u00e7\u00e3o<\/a> come\u00e7a pelo levantamento do que voc\u00ea usa hoje:<\/p>\n<pre><code class=\"language-bash\">ps aux | grep filebrowser        # flags em uso: --port, --address, --baseurl, --root...\nsystemctl cat filebrowser        # ou o compose.yaml: veja as flags e a pasta do banco<\/code><\/pre>\n<p>E a correspond\u00eancia entre as flags antigas e as chaves novas:<\/p>\n<ul>\n<li><code>--port<\/code> \u2192 <code>server.port<\/code><\/li>\n<li><code>--address<\/code> \u2192 <code>server.address<\/code><\/li>\n<li><code>--baseurl<\/code> \u2192 <code>server.baseURL<\/code><\/li>\n<li><code>--root<\/code> \u2192 <code>server.sources[0].path<\/code><\/li>\n<li><code>--database<\/code> \u2192 caminho do banco em <code>server.database<\/code> (ou vari\u00e1vel de ambiente)<\/li>\n<\/ul>\n<p>Tr\u00eas recursos do original n\u00e3o existem no Quantum: o <strong>terminal<\/strong>, os <strong>runners<\/strong> (comandos disparados por eventos) e a <strong>gest\u00e3o de usu\u00e1rios pela linha de comando<\/strong>, que passa a ser feita pelo arquivo de configura\u00e7\u00e3o ou pela API. Se voc\u00ea dependia de hooks para rodar scripts depois de um upload, planeje uma alternativa fora da ferramenta, como um servi\u00e7o que observe a pasta.<\/p>\n<p>O guia cobre a configura\u00e7\u00e3o. Planeje recriar usu\u00e1rios e compartilhamentos no Quantum, ou aproveite a migra\u00e7\u00e3o para ligar LDAP ou OIDC e deixar de manter senhas locais. Suba o Quantum em paralelo, apontando para as mesmas pastas, valide com alguns usu\u00e1rios e s\u00f3 ent\u00e3o desligue o original.<\/p>\n<h2>Cuidados antes de expor<\/h2>\n<ul>\n<li><strong>Troque a senha padr\u00e3o.<\/strong> O teste r\u00e1pido entra com <code>admin<\/code>\/<code>admin<\/code>; em produ\u00e7\u00e3o, defina <code>FILEBROWSER_ADMIN_PASSWORD<\/code> e ative 2FA para o administrador.<\/li>\n<li><strong>Publique s\u00f3 em <code>127.0.0.1<\/code><\/strong> e deixe o Nginx cuidar do TLS. Um bloqueio de for\u00e7a bruta com fail2ban na frente n\u00e3o custa nada.<\/li>\n<li><strong>Monte s\u00f3 o que precisa ser servido.<\/strong> Nada de fonte na raiz do sistema; cada volume \u00e9 uma pasta espec\u00edfica.<\/li>\n<li><strong>Fixe a vers\u00e3o<\/strong> (<code>1.5-stable<\/code>) e leia as <a href=\"https:\/\/github.com\/gtsteffaniak\/filebrowser\/releases\">notas de vers\u00e3o<\/a> antes de atualizar, principalmente quando a v2.0.0 chegar ao canal stable, porque ela exige migra\u00e7\u00e3o do banco.<\/li>\n<li><strong>Fa\u00e7a backup de <code>.\/data<\/code><\/strong>: \u00e9 ali que ficam configura\u00e7\u00e3o, usu\u00e1rios e compartilhamentos.<\/li>\n<\/ul>\n<p>Para ficar sabendo quando o servi\u00e7o cair, d\u00e1 para monitorar o endpoint <code>\/health<\/code> com o <a href=\"\/2026\/09\/go-uptime-monitoramento-self-hosted-derivado-do-gatus\">Go Uptime<\/a>, e o Quantum combina bem com outros servi\u00e7os self-hosted que j\u00e1 passaram por aqui, como o <a href=\"\/2026\/09\/vaultwarden-bitwarden-self-hosted\">Vaultwarden<\/a> e o <a href=\"\/2026\/09\/gitea-git-self-hosted-runner-tea\">Gitea<\/a>.<\/p>\n<p>Se os seus arquivos n\u00e3o est\u00e3o todos num disco local, e sim espalhados entre SFTP, S3, SMB e WebDAV, vale conhecer o <a href=\"\/2026\/09\/filestash-no-ubuntu-e-debian-instalacao-por-binario-e-comparacao-com-o-file-browser\">Filestash<\/a>, que compara as tr\u00eas op\u00e7\u00f5es lado a lado.<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>O fim do File Browser \u00e9 um exemplo honesto de como um projeto pessoal pode crescer al\u00e9m do que o autor consegue sustentar. Henrique Dias preferiu arquivar a manter um c\u00f3digo que ele mesmo n\u00e3o considera seguro, e deixou as vulnerabilidades conhecidas documentadas. Para quem precisa de um gerenciador de arquivos web leve, o FileBrowser Quantum preserva a ideia original (um bin\u00e1rio, uma pasta, o navegador) e acrescenta o que faltava: SSO, busca indexada, compartilhamentos com controle e nenhuma execu\u00e7\u00e3o de comandos pela interface. A documenta\u00e7\u00e3o completa est\u00e1 em <a href=\"https:\/\/filebrowserquantum.com\/en\/docs\/\">filebrowserquantum.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>File Browser fue archivado el 1 de septiembre de 2026, sin futuras correcciones de seguridad. Entiende por qu\u00e9 el proyecto termin\u00f3 y c\u00f3mo instalar FileBrowser Quantum, el fork que lo sustituye, con Docker, systemd y Nginx.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21,2,111,120],"tags":[156,480,481,58,240,479,203,482],"class_list":["post-1691","post","type-post","status-publish","format-standard","hentry","category-infra","category-linux","category-opensource","category-servidores","tag-docker","tag-filebrowser","tag-filebrowser-quantum","tag-go","tag-nginx","tag-seguranca","tag-self-hosted","tag-webdav"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/1691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/comments?post=1691"}],"version-history":[{"count":2,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/1691\/revisions"}],"predecessor-version":[{"id":1699,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/1691\/revisions\/1699"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=1691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=1691"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=1691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}