Самохостинг File Browser: гайд по веб‑менеджеру файлов

Как самохостить File Browser: установка через Docker, настройка прав доступа, интеграция с Nextcloud и PLEX, безопасность домашнего сервера.

Не указано
Алексей Кузнецов
Алексей Кузнецов
Системный администратор18 января 2026 г.

Обновление системы и установка утилит

Перед установкой File Browser необходимо обновить пакеты системы и установить базовые утилиты для загрузки файлов.

sudo apt update && sudo apt upgrade -y
sudo apt install curl wget git -y

Установка File Browser

Использование официального скрипта для автоматической установки, определения архитектуры и создания системного пользователя.

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

Создание директорий для данных

Создание папок для хранения базы данных (конфигурации) и файлов, которые будут доступны через веб-интерфейс.

sudo mkdir -p /var/lib/filebrowser
sudo mkdir -p /srv/filebrowser

Назначение владельца директорий

Предоставление прав пользователю 'filebrowser' (созданному скриптом установки) на управление созданными директориями.

sudo chown -R filebrowser:filebrowser /var/lib/filebrowser
sudo chown -R filebrowser:filebrowser /srv/filebrowser

Создание службы Systemd

Создание файла службы для управления File Browser (автозапуск, перезапуск при сбоях). Укажите путь к корневой папке файлов в параметре -r.

sudo tee /etc/systemd/system/filebrowser.service > /dev/null <<EOF
[Unit]
Description=File Browser Service
After=network.target

[Service]
User=filebrowser
Group=filebrowser
Type=simple
ExecStart=/usr/local/bin/filebrowser \
  -d /var/lib/filebrowser/database.db \
  -r /srv/filebrowser \
  -a 0.0.0.0 \
  -p 8080
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF

Запуск службы File Browser

Перезагрузка конфигурации systemd, включение службы для автозапуска при загрузке системы и её запуск.

sudo systemctl daemon-reload
sudo systemctl enable filebrowser
sudo systemctl start filebrowser

Установка Nginx и настройка обратного прокси

Установка веб-сервера Nginx для маршрутизации трафика с домена на локальный порт File Browser (8080).

sudo apt install nginx -y
sudo tee /etc/nginx/sites-available/filebrowser > /dev/null <<EOF
server {
    listen 80;
    server_name ваш_домен.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF
sudo ln -s /etc/nginx/sites-available/filebrowser /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Установка Certbot и получение SSL-сертификата

Установка Certbot и плагина для Nginx для автоматического получения бесплатного SSL-сертификата Let's Encrypt.

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d ваш_домен.example.com

Первоначальный вход и смена пароля

Вход в веб-интерфейс по адресу https://ваш_домен.example.com. Логин и пароль по умолчанию: admin/admin. Смена пароля обязательна для безопасности.

После входа перейдите в раздел Settings -> Users -> Найдите admin -> Change Password

Настройка Public URL (опционально)

Если File Browser работает за обратным прокси, рекомендуется указать публичный URL в настройках, чтобы ссылки на скачивание работали корректно.

sudo filebrowser config set --public-url "https://ваш_домен.example.com" -d /var/lib/filebrowser/database.db

Самостоятельное хостинг: File Browser — веб-файловый менеджер

File Browser — это легковесный, кроссплатформенный веб-файловый менеджер с открытым исходным кодом. Он позволяет управлять файлами на сервере через браузер, предоставляет функции загрузки, скачивания, редактирования и предпросмотра. В отличие от тяжелых решений вроде Nextcloud или Seafile, File Browser фокусируется на простоте и минимальных ресурсах, что делает его идеальным для VPS, NAS или даже домашнего сервера.

Что потребуется

  • Сервер с Linux (Ubuntu/Debian, CentOS/RHEL, Fedora). Инструкции ориентированы на Debian-подобные системы, но аналоги для RHEL указаны.
  • SSH-доступ с правами sudo.
  • Домен или статический IP-адрес (необязательно, но рекомендуется для HTTPS и удобства).
  • Базовые знания командной строки.

Проверка предварительных условий

Обновите систему и установите базовые утилиты:

sudo apt update && sudo apt upgrade -y
sudo apt install curl wget git -y

Установка File Browser

Способ 1: Через официальный скрипт (рекомендуется для быстрого старта)

Скрипт автоматически определяет архитектуру, скачивает последнюю версию и создает системного пользователя.

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

После выполнения скрипт:

  • Создаст пользователя filebrowser.
  • Установит бинарник в /usr/local/bin/filebrowser.
  • Создаст службу systemd.

Проверьте установку:

filebrowser version

Способ 2: Ручная установка из бинарных пакетов

Если скрипт недоступен, скачайте бинарник вручную. Перейдите на страницу релизов и выберите версию для вашей архитектуры (обычно linux-amd64 для 64-битных систем).

# Пример для amd64
wget https://github.com/filebrowser/filebrowser/releases/download/v2.31.2/linux-amd64-filebrowser.tar.gz
tar -xvzf linux-amd64-filebrowser.tar.gz
sudo mv filebrowser /usr/local/bin/
sudo chmod +x /usr/local/bin/filebrowser

Способ 3: Через Docker (если предпочитаете контейнеризацию)

File Browser официально поддерживает Docker. Это изолирует приложение и упрощает развертывание.

# Создайте директорию для конфигурации и данных
mkdir -p ~/filebrowser/data
cd ~/filebrowser

# Создайте файл конфигурации (опционально, можно настроить через веб-интерфейс)
cat > config.json << EOF
{
    "settings": {
        "auth": {
            "admin": {
                "password": "ВАШ_СЛОЖНЫЙ_ПАРОЛЬ",
                "username": "admin"
            }
        },
        "branding": {
            "name": "Мой Файл-менеджер"
        },
        "server": {
            "root": "/srv/filebrowser",
            "port": 8080
        }
    }
}
EOF

# Запустите контейнер
docker run -d \
  --name filebrowser \
  -p 8080:8080 \
  -v $(pwd)/data:/data \
  -v /путь/к/вашим/файлам:/srv/filebrowser \
  -v $(pwd)/config.json:/config.json \
  --restart unless-stopped \
  filebrowser/filebrowser

Примечание: Для Docker-версии структура каталогов внутри контейнера:

  • /srv/filebrowser — корневая папка для файлов.
  • /data — для базы данных и конфигурации.

Настройка и запуск

Через системный сервис (Systemd)

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

  1. Создайте директории для данных:
sudo mkdir -p /var/lib/filebrowser
sudo mkdir -p /srv/filebrowser
  1. Назначьте владельца:
sudo chown -R filebrowser:filebrowser /var/lib/filebrowser
sudo chown -R filebrowser:filebrowser /srv/filebrowser
  1. Создайте службу:
sudo nano /etc/systemd/system/filebrowser.service

Содержимое файла:

[Unit]
Description=File Browser Service
After=network.target

[Service]
User=filebrowser
Group=filebrowser
Type=simple
ExecStart=/usr/local/bin/filebrowser \
  -d /var/lib/filebrowser/database.db \
  -r /srv/filebrowser \
  -a 0.0.0.0 \
  -p 8080
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target
  1. Перезагрузите systemd, включите и запустите службу:
sudo systemctl daemon-reload
sudo systemctl enable filebrowser
sudo systemctl start filebrowser
  1. Проверьте статус:
sudo systemctl status filebrowser

Первое подключение и настройка

  1. Откройте браузер и перейдите по адресу: http://ваш_сервер_IP:8080 или http://ваш_домен:8080.
  2. По умолчанию используется административный аккаунт:
    • Логин: admin
    • Пароль: admin (измените немедленно!)

Изменение пароля через веб-интерфейс

После входа перейдите в раздел Настройки (Settings) → Пользователи (Users). Найдите пользователя admin и измените пароль.

Через командную строку (без веб-интерфейса)

Если вы предпочитаете CLI, используйте команду filebrowser users update.

# Пример: смена пароля для пользователя admin
sudo filebrowser users update admin --password "Ваш_новый_сложноый_пароль" \
  -d /var/lib/filebrowser/database.db

Добавление других пользователей

Через веб-интерфейс: Настройки → Пользователи → Добавить пользователя.

Через CLI:

sudo filebrowser users add "username" "password" --perm.admin=false -d /var/lib/filebrowser/database.db

Настройка HTTPS с Let’s Encrypt

Для безопасной работы через веб нужно шифрование. Рекомендуем использовать Nginx как обратный прокси.

Установка и настройка Nginx

  1. Установите Nginx:
sudo apt install nginx -y
  1. Создайте конфигурационный файл для вашего домена:
sudo nano /etc/nginx/sites-available/filebrowser

Содержимое:

server {
    listen 80;
    server_name ваш_домен.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  1. Активируйте конфигурацию:
sudo ln -s /etc/nginx/sites-available/filebrowser /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Получение SSL-сертификата с помощью Certbot

  1. Установите Certbot и плагин для Nginx:
sudo apt install certbot python3-certbot-nginx -y
  1. Запустите получение сертификата:
sudo certbot --nginx -d ваш_домен.example.com

Сертификат автоматически обновится (по умолчанию каждые 90 дней). Проверьте, что в конфигурации Nginx появился блок listen 443 ssl; и пути к сертификатам.

Обновление настроек File Browser (если требуется)

Если вы используете обратный прокси, File Browser может не знать о публичном домене. В веб-интерфейсе перейдите в Настройки (Settings) → Сервер (Server) и укажите Public URL: https://ваш_домен.example.com.

Или через CLI:

sudo filebrowser config set --public-url "https://ваш_домен.example.com" \
  -d /var/lib/filebrowser/database.db

Расширенная настройка и управление

База данных

По умолчанию File Browser использует SQLite, что упрощает развертывание. Для отказоустойчивости можно перейти на PostgreSQL или MySQL.

  1. Создайте пользователя и базу данных в PostgreSQL:
CREATE DATABASE filebrowser;
CREATE USER filebrowser_user WITH PASSWORD 'секрет_пароль';
GRANT ALL PRIVILEGES ON DATABASE filebrowser TO filebrowser_user;
  1. Измените строку подключения в службе:

Обновите ExecStart в /etc/systemd/system/filebrowser.service:

ExecStart=/usr/local/bin/filebrowser \
  -d "postgresql://filebrowser_user:секрет_пароль@localhost:5432/filebrowser" \
  -r /srv/filebrowser \
  -a 0.0.0.0 \
  -p 8080
  1. Перезапустите службу:
sudo systemctl daemon-reload
sudo systemctl restart filebrowser

Квоты и ограничения

File Browser не имеет встроенных квот. Для ограничения дискового пространства используйте системные квоты (на Linux) или ограничения на уровне обратного прокси (например, Nginx через client_max_body_size).

Пример настройки Nginx для ограничения загрузки файлов (в блоке server):

client_max_body_size 100M;  # Максимальный размер файла 100 МБ

Интеграция с внешними хранилищами

File Browser поддерживает S3-совместимые хранилища (MinIO, AWS S3 и др.). Настройка через веб-интерфейс: Настройки → Диски (Disks).

Пример конфигурации для MinIO:

  • Имя диска: s3
  • Тип: S3
  • Ключ доступа (Access Key ID): ваш_ключ
  • Секретный ключ (Secret Access Key): ваш_секрет
  • Region: us-east-1
  • Endpoint: https://minio.example.com (без / в конце)
  • Bucket: filebrowser-bucket

После сохранения файлы из этого диска будут доступны в интерфейсе File Browser.

Устранение неисправностей

Service не запускается

  1. Проверьте логи:
sudo journalctl -u filebrowser -f
  1. Убедитесь, что порт 8080 свободен и доступен:
ss -tlnp | grep 8080
  1. Проверьте права доступа к директориям и файлу БД:
sudo chown -R filebrowser:filebrowser /var/lib/filebrowser
sudo chown -R filebrowser:filebrowser /srv/filebrowser

Ошибки подключения через Nginx

  • 502 Bad Gateway: Убедитесь, что File Browser запущен и слушает порт 8080.
  • 413 Request Entity Too Large: Увеличьте client_max_body_size в Nginx.
  • Перенаправление на 8080 вместо HTTPS: Проверьте настройки proxy_set_header в Nginx, особенно X-Forwarded-Proto $scheme.

Проблемы с базой данных

Если вы перешли на PostgreSQL и видите ошибки подключения:

  • Проверьте, разрешены ли соединения с localhost в pg_hba.conf.
  • Убедитесь, что хосты 127.0.0.1 и localhost есть в listen_addresses в postgresql.conf.

Сброс пароля администратора

Если вы потеряли пароль, можно сбросить его через CLI, создав новый пользователь или изменив существующий. Если же доступ к CLI отсутствует, можно временно запустить File Browser с флагом --username admin --password newpassword и затем настроить корректно.

Заключение

File Browser — это мощный и гибкий инструмент для управления файлами через веб, который можно настроить за несколько минут. Ключевые шаги:

  1. Установка бинарника или запуск Docker-контейнера.
  2. Настройка системного сервиса для автоматического запуска.
  3. Обеспечение безопасности через HTTPS (Nginx + Let’s Encrypt).
  4. Настройка пользователей и расширенных опций (база данных, облачные хранилища).

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

Поделиться:TelegramX / TwitterVK