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 или специализированную платформу с версиями файлов и квотами.