Filestash при живом Nextcloud: зачем второй файловый интерфейс
Если у вас уже поднят Nextcloud и кто-то советует «поставь ещё Filestash, удобно», первая реакция — а зачем, у меня и так есть веб-интерфейс для файлов. Вопрос закономерный: Filestash не хранилище и не альтернатива Nextcloud, а тонкий клиент, который подключается к уже существующим бэкендам — S3, SFTP, FTP, WebDAV, SMB, тому же Nextcloud — и рисует поверх них один веб-интерфейс. Разберём честно, для какого сценария это реально экономит время, а когда это просто лишний контейнер, который нечего показывать, кроме того, что и так уже видно в Nextcloud.
Содержание
Что такое Filestash на самом деле
Ключевая вещь, которую надо понять до того, как разворачивать: у Filestash нет собственного хранилища файлов. Он не хранит ваши данные — он подключается к чужому бэкенду и рисует для него браузерный интерфейс: список файлов, загрузка, скачивание, предпросмотр, иногда — простое редактирование. Сам Filestash хранит только конфигурацию подключений (какие бэкенды включены, какие плагины активны) — это видно по административной панели /admin, где на первом экране — сетка из всех протоколов, которые Filestash умеет говорить: S3 и S3-совместимые хранилища, SFTP, FTP/FTPS, WebDAV, SMB, NFS, MinIO, Backblaze B2, Azure Blob, Google Drive, Dropbox, Git/GitHub/GitLab, LDAP, MySQL и ещё несколько десятков коннекторов. Кликаете нужный — он подсвечивается и появляется на странице логина для пользователей.
Это принципиально другая модель, чем у Nextcloud или Seafile. Там сервер — это и хранилище, и синхронизация, и приложения (календарь, контакты, заметки), и совместное редактирование, всё в одном стеке со своей базой данных. У Filestash ничего этого нет по умолчанию — он не хранилище, а прослойка. Если у вас нет вообще никакого бэкенда (ни S3, ни SFTP, ни готового Nextcloud), Filestash поставить не на что — вам всё равно придётся сначала развернуть что-то, что реально хранит файлы.
Есть ещё один режим — «gateway»: Filestash может не только подключаться к бэкенду как клиент, но и выставлять его наружу под другим протоколом. Например, обычная папка на диске сервера превращается в SFTP- или WebDAV-точку, а старый FTP-сервер — в современный WebDAV-эндпоинт. Это нишевая, но реально полезная штука, если вам нужно дать современный протокол доступа к легаси-хранилищу, не трогая само хранилище.
Установка: docker run и гонка за /admin/setup
Разворачивается Filestash одной командой:
docker run -d --name filestash \
-p 8334:8334 \
--restart unless-stopped \
machines/filestash:latest
После старта контейнер слушает порт 8334, и первое, что нужно сделать — открыть http://ваш-домен:8334/admin/setup и задать пароль администратора. Здесь есть честная грабля, о которой стоит знать заранее: в Filestash нет предустановки пароля через переменные окружения при первом запуске — админом становится тот, кто первым открыл /admin/setup. Если контейнер поднят на публичном IP без фаервола, а вы пошли пить кофе вместо того, чтобы сразу зайти в админку, шанс, что вас опередят, не нулевой — особенно если порт уже просканирован ботами. Практический вывод: держите 8334 закрытым фаерволом (или доступным только через VPN/reverse proxy с базовой авторизацией) до того момента, как вы лично зашли в /admin/setup и поставили пароль, и только после этого открывайте порт наружу через прокси с TLS.
Для постоянной установки разумнее сразу писать docker-compose с volume под конфиг и proxy_pass через nginx с уже выпущенным сертификатом — тогда порт 8334 наружу вообще не торчит, а Filestash доступен только через 443 обратного прокси.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать VPSFilestash поверх Nextcloud: что реально получится
Самый частый вопрос — а что если подключить Filestash именно к своему Nextcloud через WebDAV? Технически это работает: в админке включаете бэкенд WebDAV, указываете адрес вида https://ваш-домен/remote.php/webdav/ и учётные данные пользователя Nextcloud — и на странице логина Filestash появляется возможность зайти «как в Nextcloud», только через чужой интерфейс.
Вот что вы при этом теряете, и это стоит проговорить прямо:
- Нет календаря, контактов, заметок — Filestash видит только файлы через WebDAV, все остальные приложения Nextcloud (Calendar, Contacts, Notes, Deck) ему попросту не видны, это другой протокол.
- Нет нативного управления шарингом — ссылки с паролем, сроком действия, правами «только просмотр» в Nextcloud настраиваются в его собственном UI. Через WebDAV-клиент этого функционала нет — Filestash просто не умеет создавать шары в терминах Nextcloud.
- Нет версионирования в привычном виде — история версий файла, которую Nextcloud хранит и показывает в своём интерфейсе, через голый WebDAV не выводится.
- Совместное редактирование документов — не из коробки. Nextcloud с подключённым ONLYOFFICE или Collabora даёт совместное редактирование прямо в браузере. У Filestash нет встроенного офисного движка: он умеет показывать превью части форматов, но полноценное редактирование
.docx/.xlsxчерез WebDAV-подключение к Nextcloud — не гарантированная история, там встречаются известные баги с открытием офисных документов именно через сторонние WebDAV-клиенты. - Нет синхронизации — у Nextcloud есть десктопный и мобильный клиент с фоновой синхронизацией папок. Filestash — это браузерный интерфейс, ничего похожего на офлайн-синхронизацию он не предлагает.
Итог: если вы уже пользуетесь Nextcloud через его родной интерфейс (или десктопный клиент), Filestash поверх него не открывает новых возможностей — только более бедную версию того же самого, плюс отдельный контейнер, отдельную точку авторизации и отдельный процесс, который нужно обновлять и патчить.
Когда Filestash реально нужен
Ситуация меняется, если у вас нет одного центрального Nextcloud, а есть несколько разных хранилищ, которые физически не связаны между собой. Типичный расклад для человека, который сам администрирует инфраструктуру:
- S3-совместимый бакет для бэкапов приложений;
- SFTP-доступ к другому серверу (например, для передачи логов или архивов);
- старый FTP, который остался от подрядчика и трогать его боязно;
- SMB-шара с файлового сервера в офисе.
Без Filestash для каждого из этих хранилищ у вас свой инструмент: s3cmd или rclone для бакета, FileZilla или sftp в терминале для SFTP, ещё один FTP-клиент, ещё один способ монтировать SMB. Filestash в этом сценарии даёт одну точку входа: заходите в браузере на один адрес, выбираете нужный бэкенд из списка на странице логина — и работаете с любым из хранилищ одинаковым интерфейсом drag-and-drop. Это реальная экономия времени, когда таких хранилищ больше двух и к ним периодически нужен доступ не только вам, но и коллегам, которым не хочется объяснять, что такое SFTP-клиент и куда вписывать порт.
Второй честный сценарий — у вас уже есть готовое хранилище (например, S3-совместимое хранилище на своём сервере), но никакого веб-интерфейса к нему нет и разворачивать полноценный Nextcloud/Seafile ради одного бакета избыточно. Тогда Filestash — это минимальный слой, который превращает голое хранилище в нечто, куда можно зайти браузером и перетащить файл, без установки CLI-инструментов на каждую машину, откуда нужен доступ.
Третий сценарий — доступ для внешних людей без выдачи полноценных аккаунтов в основной системе. Например, подрядчику нужно скинуть файлы на ваш FTP или SFTP — вместо того чтобы объяснять ему тонкости FTP-клиента, вы даёте ссылку на Filestash с логином, который смотрит именно в его каталог, а не во всю систему.
Когда это лишний слой
Обратная сторона: если у вас ровно одно хранилище и это уже полноценный Nextcloud (или Seafile, или ownCloud) — Filestash ничего не добавляет, а стоимость его содержания реальна:
- ещё один контейнер, который нужно обновлять отдельно от основного стека;
- ещё одна точка авторизации — либо своя база пользователей Filestash, либо пробрасывание учётки бэкенда, и в обоих случаях это ещё один процесс, требующий внимания при аудите доступа;
- ещё одна открытая наружу поверхность атаки — если Filestash смотрит в интернет, это ещё один сервис, в котором может найтись уязвимость, и его тоже нужно патчить вовремя;
- при этом никакой новой функциональности пользователь не получает — только более скудный интерфейс к тем же файлам.
Если ваша цель — «просто красивый интерфейс к файлам», у Nextcloud он уже есть, причём с приложениями, шарингом и синхронизацией, которых у Filestash нет и не будет, потому что это не его задача. Ставить Filestash в этом случае — это добавлять движущуюся часть в систему ради результата, который уже достигнут.
Сравнение: где чья зона ответственности
| Задача | Nextcloud | Filestash |
|---|---|---|
| Своё хранилище файлов | Да, встроенное | Нет, нужен внешний бэкенд |
| Доступ к нескольким разным хранилищам из одного UI | Нет (только через внешние точки монтирования) | Да, это основная задача |
| Календарь, контакты, заметки | Да | Нет |
| Шаринг со ссылками, паролем, сроком действия | Да, нативно | Нет (зависит от возможностей бэкенда) |
| Десктопная/мобильная синхронизация | Да, официальные клиенты | Нет |
| Совместное редактирование офисных документов | Да, через ONLYOFFICE/Collabora | Не гарантировано, есть известные проблемы через сторонние WebDAV-подключения |
| Экспонирование хранилища под другим протоколом (SFTP → WebDAV и т.п.) | Нет | Да, через gateway-режим |
| Ресурсы на сервере | Веб-сервер + PHP + база данных | Один статический бинарник/контейнер, БД не нужна |
Из таблицы видно: пересечение функций у двух инструментов минимальное. Nextcloud — это платформа с экосистемой вокруг файлов. Filestash — узкоспециализированный клиент для доступа к разным хранилищам через браузер. Они не конкуренты, а инструменты для разных задач, и путаница возникает только потому, что оба показывают список файлов в браузере.
Практический сценарий: связка имеет смысл
Возьмём реалистичный кейс: у вас есть VPS с Nextcloud для команды (документы, календарь, совместная работа) и отдельно — S3-совместимое хранилище, куда льются бэкапы баз данных и логи с нескольких серверов. Держать бэкапы в Nextcloud избыточно (это не тот тип данных, ради которого нужны версии, шаринг и синхронизация), а доступ к бакету время от времени нужен — проверить, что бэкап реально долетел, скачать конкретный дамп для отладки.
Здесь Filestash ставится не вместо Nextcloud, а рядом, для другой задачи — единой точки просмотра бакетов с бэкапами, без выдачи s3cmd-конфига каждому, кому нужно туда заглянуть:
version: "3"
services:
filestash:
image: machines/filestash:latest
restart: unless-stopped
ports:
- "127.0.0.1:8334:8334"
volumes:
- ./filestash-data:/app/data/state
Порт привязан к 127.0.0.1, наружу торчит только nginx с TLS и, для дополнительного слоя, basic-auth или ограничением по IP/VPN — учитывая, что внутри лежат бэкапы, лишний слой защиты тут не паранойя, а разумная предосторожность. Внутри админки включаете только бэкенд S3 (остальные протоколы можно даже не активировать — меньше поверхность атаки), настраиваете подключение с ключами доступа только на чтение, если пишущий доступ никому, кроме автоматики бэкапов, не нужен.
В этом раскладе Nextcloud остаётся тем, чем должен быть — рабочим облаком для команды с документами, календарём и синхронизацией, а Filestash — узкой утилитой для одной конкретной задачи (посмотреть на бэкапы в браузере), которую сам Nextcloud решать не обязан.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать VPSНужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Частые вопросы
Можно ли использовать Filestash вместо Nextcloud, если ещё ничего не развёрнуто?
Формально да — он умеет отдавать веб-интерфейс к S3 или SFTP. Но если нужны календарь, контакты, шаринг, синхронизация и совместное редактирование, разворачивать эту функциональность придётся отдельно, Filestash её не заменяет. В такой ситуации проще сразу поставить Nextcloud на VPS и не собирать конструктор из нескольких сервисов.
Filestash хранит мои файлы, если я его удалю?
Нет. Filestash не копирует данные, он только показывает то, что лежит в подключённом бэкенде. Удаление контейнера Filestash никак не затрагивает файлы на S3, SFTP или где угодно ещё — теряется только конфигурация подключений.
Безопасно ли давать подрядчику доступ через Filestash к моему FTP или SFTP?
Это безопаснее, чем давать полные учётные данные к серверу, если вы настроите отдельного пользователя бэкенда с правами только на нужный каталог. Сам Filestash при этом становится дополнительной точкой, которую тоже нужно защищать — TLS обязателен, а порт админки должен быть закрыт от посторонних.
Filestash поддерживает совместное редактирование документов, как в Nextcloud с ONLYOFFICE?
Нет встроенного офисного движка сопоставимого уровня. Есть базовый предпросмотр части форматов, но полноценное совместное редактирование .docx/.xlsx через сторонний WebDAV-коннектор — не то, на что стоит рассчитывать, там встречаются известные проблемы с открытием офисных файлов.
Что делать, если у меня уже есть FTP-сервер, но не хочется давать всем FTP-клиент?
Это как раз сценарий, где Filestash оправдан — подключаете FTP как бэкенд, и коллеги заходят в браузер вместо настройки FileZilla или lftp на каждой машине.
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →