Filebrowser — небольшой сервер на Go, который показывает выбранные каталоги в браузере: просмотр, загрузка, переименование, удаление, поиск и общие ссылки. Проект архивирован в сентябре 2026 года, поэтому новые установки лучше делать на поддерживаемом форке, а существующие — держать в локальной сети. Разберём устройство, установку, права, прокси и обслуживание.

Статус проекта в 2026 году

Репозиторий filebrowser/filebrowser переведён в архив: последний релиз вышел, исправлений безопасности больше не будет. Известные проблемы касаются выполнения команд и отзыва сессий, поэтому не включайте command runner и не выставляйте сервис в интернет. Для новой установки разумнее FileBrowser Quantum — активно развиваемый форк с конфигом config.yaml, двухфакторной аутентификацией и поиском.

Что умеет и чего не умеет Filebrowser

Приложение работает как самостоятельный HTTP-сервер и хранит настройки в одном файле базы. Пользователи видят указанный при запуске корень, а внутри можно задать scope. Есть роли, публичные ссылки, редактирование текста и массовая загрузка.

Сразу решите, будет ли сервис доступен из интернета. Для архивной версии ответ должен быть отрицательным: только localhost и приватная сеть, а снаружи — прокси с собственной аутентификацией.

Установка

Официальный скрипт скачивает подходящий бинарник и кладёт его в /usr/local/bin. Если автоматическая установка не подходит, возьмите архив с релизом и распакуйте вручную.

curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | sudo bash
filebrowser version
which filebrowser

Для контейнерной установки удобен официальный образ. Каталог с файлами монтируется в /srv, а база — в отдельный том, чтобы настройки пережили пересоздание контейнера.

docker run -d --name filebrowser   -p 8080:80   -v /srv/files:/srv   -v filebrowser-db:/database   filebrowser/filebrowser

Порт внутри образа — 80, наружу лучше публиковать только на localhost и ставить перед ним reverse proxy.

Первый запуск и базовая настройка

Создайте каталог для базы, инициализируйте конфигурацию и задайте адрес. Пока сервис слушает 127.0.0.1, снаружи он недоступен.

sudo mkdir -p /etc/filebrowser /srv/files
sudo filebrowser -d /etc/filebrowser/filebrowser.db config init
sudo filebrowser -d /etc/filebrowser/filebrowser.db config set --address 127.0.0.1 --port 8080 --root /srv/files
sudo filebrowser -d /etc/filebrowser/filebrowser.db users add admin 'ЗаменитеЭтотПароль' --perm.admin

Пароль в командной строке попадает в историю оболочки: начните команду с пробела или смените пароль в веб-интерфейсе сразу после настройки.

Проверьте ответ сервиса локально, затем переходите к автозапуску.

Служба systemd

Запускать процесс из терминала неудобно: после выхода из сессии он завершится. Создайте отдельного пользователя и службу, чтобы Filebrowser стартовал вместе с системой.

sudo useradd --system --home /srv/files --shell /usr/sbin/nologin filebrowser
sudo chown -R filebrowser:filebrowser /srv/files /etc/filebrowser

Юнит должен запускать бинарник с тем же файлом базы и перезапускать процесс при сбое. Директиву ReadWritePaths можно добавить при использовании ProtectSystem, иначе запись в каталог данных окажется заблокированной.

[Unit]
Description=Filebrowser
After=network.target

[Service]
User=filebrowser
Group=filebrowser
ExecStart=/usr/local/bin/filebrowser -d /etc/filebrowser/filebrowser.db
Restart=on-failure

[Install]
WantedBy=multi-user.target

Сохраните файл как /etc/systemd/system/filebrowser.service, перечитайте конфигурацию и включите автозапуск.

sudo systemctl daemon-reload
sudo systemctl enable --now filebrowser
systemctl status filebrowser --no-pager

Nginx, HTTPS и подкаталог

Прокси скрывает приложение от прямого доступа, а TLS завершается на нём. Не забудьте про client_max_body_size: по умолчанию Nginx ограничивает размер загружаемого файла одним мегабайтом.

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    client_max_body_size 2g;
}

Если приложение живёт по адресу /files, задайте baseurl и перезапустите службу, иначе ссылки уйдут в корень домена.

sudo filebrowser -d /etc/filebrowser/filebrowser.db config set --baseurl /files
sudo systemctl restart filebrowser
sudo nginx -t

Пользователи и права

Каждому человеку нужен отдельный аккаунт с областью видимости внутри его каталога и только необходимыми правами.

sudo filebrowser -d /etc/filebrowser/filebrowser.db users add editor 'ДругойПароль' --scope /srv/files/projects
sudo filebrowser -d /etc/filebrowser/filebrowser.db users update editor --perm.create --perm.modify --perm.share
sudo filebrowser -d /etc/filebrowser/filebrowser.db users ls

Права администратора давайте только тем, кто действительно управляет сервисом. Обычный пользователь не должен видеть чужие каталоги, даже если они лежат рядом.

  • Разделяйте данные по каталогам и назначайте scope.
  • Отключайте лишние права, особенно удаление и выполнение.
  • Проверяйте доступ из отдельного браузера или режима инкогнито.
  • Удаляйте аккаунты уволенных сотрудников в тот же день.

Обслуживание и резервное копирование

Настройки и хеши паролей лежат в одном файле базы. Копировать его на работающем сервисе рискованно: остановите службу и сделайте архив.

sudo systemctl stop filebrowser
sudo tar -czf /root/fb-backup.tar.gz /etc/filebrowser /srv/files
sudo systemctl start filebrowser
rsync -a --delete /srv/files/ backup@host:/backup/files/

Обновлений не будет: фиксируйте текущую версию и храните копию базы.

Диагностика

Если страница не открывается, начните с журнала службы и проверки порта. Ошибка «permission denied» почти всегда означает, что процесс работает не под тем пользователем или каталог закрыт для записи.

journalctl -u filebrowser -n 50 --no-pager
ss -ltnp | grep 8080
namei -l /srv/files
curl -I http://127.0.0.1:8080

namei -l показывает права на каждом уровне пути — это быстрее, чем вручную проверять каждый каталог. Если файлы загружаются, но не открываются, проверьте свободное место и лимиты открытых файлов.

df -h /srv
du -sh /srv/files
sudo -u filebrowser test -w /srv/files && echo writable

Безопасность: короткий чек-лист

  • HTTPS с валидным сертификатом, HTTP перенаправляется на HTTPS.
  • Служба слушает localhost, наружу смотрит только прокси.
  • Отдельный системный пользователь без shell.
  • Резервные копии базы: обновлений для архивной версии не будет.
  • Ограничение размера загрузки и запрет выполнения скриптов из каталога данных.
  • Проверка журналов на неудачные входы.

Не выставляйте Filebrowser в интернет без прокси и TLS. Для домашней сети достаточно приватного адреса, но пароли должны быть сильными.

Итог

Filebrowser остаётся понятным примером веб-доступа к каталогу, но с сентября 2026 года он не получает исправлений. Используйте его только во внутренней сети, а для новых проектов берите FileBrowser Quantum или специализированную платформу с версиями файлов и квотами.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте