BoxBox: веб-менеджер файлов для локальных хранилищ на SvelteKit и Go

BoxBox — это современный веб-менеджер файлов для самоспланированных хранилищ, написанный на SvelteKit и Go. Он предназначен для удобного управления файлами на локальных серверах и NAS-системах, обеспечивая интерфейс для работы с замонтированными директориями Linux.

Главная особенность BoxBox — это возможность управлять несколькими точками монтирования через единый интерфейс. Он поддерживает загрузку больших файлов с возможностью их восстановления и предварительный просмотр различных форматов, таких как изображения и видео. В сравнении с альтернативами, BoxBox предлагает более современный интерфейс и интеграцию с Docker, что упрощает развертывание на существующих серверах.

Запускать BoxBox удобно с помощью Docker Compose, достаточно скачать необходимые конфигурации и настроить переменные окружения. Обрати внимание, что проект ориентирован на использование в хомелабах, а значит, подойдет в первую очередь для разработчиков и энтузиастов, которые хотят развернуть собственное хранилище. Ограничений по операционным системам нет, но учитывай, что проект еще в разработке и может содержать недочеты.

BoxBox — это современный файловый менеджер, который можно разворачивать самостоятельно на серверах типа homelab или NAS. Он предоставляет веб-интерфейс для работы с подключенными путями Linux, поддерживает загрузку крупных файлов, предпросмотры, поиск и фоновые операции с файлами.

Установка и запуск

Рекомендуемым способом развертывания является использование Docker Compose с образом из GitHub Container Registry. Установка из исходников не требуется. Для установки выполни следующие команды:

mkdir -p boxbox
cd boxbox

curl -fsSLO https://raw.githubusercontent.com/jR4dh3y/BoxBox/master/docker-compose.yml
curl -fsSLO https://raw.githubusercontent.com/jR4dh3y/BoxBox/master/.env.example
mkdir -p backend
curl -fsSL https://raw.githubusercontent.com/jR4dh3y/BoxBox/master/backend/config.yaml -o backend/config.yaml

cp .env.example .env
$EDITOR .env

docker compose pull
docker compose up -d

Не забудь сгенерировать значение bcrypt, необходимое для `.env`, а затем открой http://localhost:8080 и войди как `admin`, используя хэшированный пароль.

Возможности

  • Просмотр нескольких настроенных точек монтирования через один веб-интерфейс.
  • Загрузка больших файлов с поддержкой поэтапной и возобновляемой загрузки.
  • Предпросмотр общих форматов файлов: изображения, аудио, видео, PDF и текстовые файлы.
  • Совместное использование файлов и папок с возможностью создания временных, отзывных ссылок и контроля загрузок.
  • Скачивание папок в виде ZIP-архивов через браузер или публичные страницы общего доступа.
  • Копирование, перемещение и удаление файлов с использованием фоновых задач.
  • Отслеживание хода выполнения задач через обновления WebSocket.
  • Поиск по директориям по имени файла или папки.
  • Настройка только для чтения монтирования, пользователей, ограничений скорости и разрешенных источников.

Структура репозитория

Репозиторий состоит из следующих компонентов:

backend/      Go API сервер и встроенный хост фронтенда
frontend/     Приложение на SvelteKit
docs/         Публичная документация проекта
scripts/      Вспомогательные скрипты для локальной разработки
Dockerfile    Упрощенный образ для продакшн-версий фронтенда и бэкенда

Документация

Подробная документация доступна по адресу: boxbox.radhey.dev/docs/.

Лицензия

Проект доступен под лицензией MIT. Подробности можно найти в файле LICENSE.

Открыть на GitHub: jR4dh3y/BoxBox →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте