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 →
RepoRadar