Как самохостить File Browser: Полный гайд по веб-файловому менеджеру

Настройка File Browser для самостоятельного хостинга. Пошаговая инструкция по установке через Docker, конфигурации прав доступа, интеграции с Nexcloud и PLEX, а также безопасности на базе вашей домашней серверной.

Не указано

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

Перед установкой 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