ReCasaOS
Панель для личных приложений, которая работает на вашем сервере: установка, настройки, обновления и резервные копии через браузер. Развернули 0.5.84 на Fatmetal Cloud Server, замерили ресурсы и проверили восстановление испорченных файлов.
Вердикт
- Владельцу нескольких Docker-приложений, который хочет менять настройки и делать копии в одной панели.
- Пользователю CasaOS, который выбирает развивающийся форк с редактором Compose и восстановлением данных.
- Нужно только семейное файловое облако с клиентом на телефоне.
- Нужен полный автоматический откат приложения одной кнопкой.
Зачем нужна ReCasaOS
Когда сервисов несколько, обычные операции расползаются по терминалам: найти Compose, поменять образ, сохранить данные перед экспериментом. ReCasaOS собирает эти действия в браузере и показывает приложения карточками.
ReCasaOS - общественный форк CasaOS. Его стоит рассмотреть, если нужны редактор Compose для настройки приложений и восстановление их данных из резервных копий.
Через панель можно менять настройки и образ приложения, сохранять и восстанавливать его файлы. Восстановление файлов не означает полного автоматического отката приложения одной кнопкой.
Русский язык включается в Settings → Language → Русский. Основные виджеты переведены, а пояснения Compose и резервного копирования остаются английскими. Скриншоты показывают именно эту смешанную локализацию.
Чем отличается от CasaOS и Cloudron
Ближайший платный ориентир - Cloudron: тоже управляет приложениями на вашем сервере. Страна разработчика не определяет, где лежат файлы: в обеих системах место размещения выбираете вы.
| Выбор | За что платите | Когда смотреть |
|---|---|---|
| ReCasaOS | Сервер, без обязательной подписки на панель | Нужны каталог, свой Compose и обычные операции из браузера |
| Cloudron Free | Сервер; панель бесплатна для двух приложений | Двух приложений хватает для вашей задачи |
| Cloudron Pro | Сервер плюс 15 евро/мес при годовой оплате или 30 евро помесячно | Нужна платная платформа управления приложениями |
| Docker Compose | Сервер | Уже ведете конфигурации в терминале и не нуждаетесь в дополнительной панели |
Цены Cloudron проверены 4 ноября 2026 года, налоги учитываются отдельно. Сравнивайте подписку вместе с ценой VPS: Cloudron тоже требует инфраструктуры.
ReCasaOS распространяется под Apache-2.0, поэтому для получения панели не нужна зарубежная покупка. Лицензии установленных приложений остаются отдельными; панель не меняет условия их использования.
Как устроены панель и данные
ReCasaOS ставится нативно: шесть служб systemd обслуживают панель, вход, маршрутизацию, события, хранилище и приложения. Контейнеры Docker запускают уже ваши сервисы. Единого образа «со всей ReCasaOS» здесь нет.
Настройки хоста лежат в /etc/casaos, учетные данные панели - в /var/lib/casaos/db. Определение каждого приложения хранится отдельным файлом:
/var/lib/casaos/apps/ИМЯ/docker-compose.yml
Вместо ИМЯ используется имя приложения.
Файлы самого приложения находятся в подключенных каталогах или томах Docker. В примере это /DATA/AppData/fca-demo/site. Копирование только каталога панели не сохраняет содержимое этого сайта.
Для панели и проверенного приложения подходит CPU2-RAM4-DISK50: 2 vCPU, 4 ГБ RAM, 50 ГБ диска, 500 руб/мес на дату замера. Требования следующих приложений прибавляются к расходу панели.
В маркетплейсе Fatmetal
Не хотите ставить руками?
Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из этого разбора вручную. Заказываете сервер, за пару минут получаете рабочий домен, валидный TLS и файл с доступами.
Рекомендуемая конфигурация:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe от 450 ₽/мес
Развертывание на Fatmetal Cloud Server
Нужны чистая Ubuntu 24.04, доступ по SSH и домен, направленный на сервер. Рассчитывайте примерно на десять минут ручной настройки. Выполняйте шаги последовательно в одной root-сессии.
У форка собственные релизы: в разборе дистрибутив 0.5.84, а внутри компоненты с другими номерами. Установщики исходного CasaOS и ReCasaOS не взаимозаменяемы; инструкция ниже относится к ReCasaOS.
Подготовьте чистую Ubuntu 24.04
Подключитесь по SSH и выполните
sudo -i. Замените «ваш-домен» в следующих блоках на имя, A-запись которого ведет на этот VPS. Закройте входящие соединения до создания администратора.ufw allow 22/tcp ufw default deny incoming ufw default allow outgoing ufw --force enable apt-get update && apt-get install -y ca-certificates curl caddy install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable' > /etc/apt/sources.list.d/docker.list apt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-pluginЗакройте первый вход через веб
Gateway будет слушать только localhost, а первый администратор создастся локально. Без этого первый посетитель пустой панели может стать ее владельцем.
mkdir -p /etc/casaos /opt/recasaos cat >/etc/casaos/gateway.ini <<'EOF' [common] runtimepath=/var/run/casaos [gateway] port=8080 address=127.0.0.1 httpsport=0 EOF cat >/etc/casaos/user-service.conf <<'EOF' [common] RuntimePath=/var/run/casaos [app] DBPath=/var/lib/casaos/db UserDataPath=/var/lib/casaos FirstAdmin=local EOFУстановите закрепленный релиз
Используйте установщик именно 0.5.84. На стенде его работа после установки Docker и Caddy заняла 136 секунд; флаг отключает отправку статистики использования.
cd /opt/recasaos curl -fL https://github.com/ReCasaOS/CasaOS-Install/releases/download/v0.5.84/install.sh -o install.sh bash install.sh --no-telemetryСоздайте администратора
Введите свой логин и длинный пароль: пароль при наборе скрыт и не попадает в аргументы процесса. Эта команда предназначена для первого аккаунта на пустой установке.
systemctl stop casaos-user-service read -r -p 'Логин: ' APP_USER </dev/tty read -r -s -p 'Пароль: ' APP_PASSWORD </dev/tty; echo printf '%s\n%s\n' "$APP_USER" "$APP_PASSWORD" | casaos-user-service -bootstrap-admin unset APP_PASSWORD systemctl start casaos-user-serviceОтключите поиск локальных устройств
Установщик открывает порты обнаружения локальной сети. На публичном VPS этот сценарий не нужен; удалите добавленные правила, оставив службы панели работающими.
systemctl disable --now casaos-wsdd.service avahi-daemon.socket avahi-daemon.service ufw --force delete allow 5353/udp ufw --force delete allow 3702/udp ufw --force delete allow 5357/tcpОткройте панель через HTTPS
Caddy выпустит сертификат для вашего домена и закроет проблемный маршрут аватара. Второй адрес пригодится примеру приложения. Команды выполняются в той же root-сессии.
cat >/etc/caddy/Caddyfile <<'EOF' { acme_ca {$ACME_CA:https://acme-v02.api.letsencrypt.org/directory} } ваш-домен { @legacy_avatar path /v1/users/image /v1/users/image/ respond @legacy_avatar 404 reverse_proxy 127.0.0.1:8080 } ваш-домен:8443 { reverse_proxy 127.0.0.1:18080 } EOF caddy validate --config /etc/caddy/Caddyfile systemctl reload caddy ufw allow 80/tcp ufw allow 443/tcp ufw allow 8443/tcp install -d /DATA/AppData/fca-demo/site printf '<meta charset="utf-8"><h1>Мои сервисы</h1>\n' >/DATA/AppData/fca-demo/site/index.html
Откройте https://ваш-домен, войдите созданным аккаунтом и выберите русский язык. После выпуска сертификата браузер открывает панель без предупреждения о доверии.
Добавьте свой Compose без переписывания
Нажмите плюс рядом с приложениями, выберите Install a customized app → Import и вставьте этот Compose. Замените «ваш-домен» на то же имя, что в Caddy. Затем нажмите Install as written: так сохраняется привязка порта к localhost.
name: fca-demo
services:
web:
image: nginx:1.30.6-alpine
restart: unless-stopped
ports:
- "127.0.0.1:18080:80"
volumes:
- /DATA/AppData/fca-demo/site:/usr/share/nginx/html:ro
x-casaos:
title:
en_us: Personal site
ru_ru: Личная страница
main: web
scheme: https
hostname: ваш-домен
port_map: "8443"
index: /Нажмите на иконку «Личная страница»: сайт откроется внутри панели. Страница доступна также по https://ваш-домен:8443; Caddy передает запросы контейнеру, который напрямую наружу не слушает.
В меню приложения доступны настройки, обновление, копирование и удаление. В Settings есть контейнерная консоль: она выполняет команды внутри выбранного контейнера, а не в оболочке вашего компьютера.
Какие ресурсы нужны на практике
Стенд: CPU2-RAM4-DISK50, Ubuntu 24.04.4, Docker 29.9.3, ReCasaOS 0.5.84. Для памяти считаем anon служб и контейнеров, без файлового кеша; это расход выбранного набора процессов, а не всей ОС.
| Панель со службами, без приложений | 179 МиБ в простое |
| Из них шесть служб ReCasaOS | 89 МиБ |
| Наблюдавшийся пик при работе | 256 МиБ |
| Диск с данными и одной копией | 3,85 ГиБ занято |
| Образ тестового Nginx | 93,5 МБ по docker image ls |
| Отклик панели по публичному адресу | 16 мс, медиана |
| Копирование / восстановление 256 МиБ | 9,3 с / 4,8 с |
Набор состоял из 32 файлов по 8 МиБ. После удаления одного файла, порчи другого и изменения HTML восстановление вернуло все контрольные суммы и убрало лишний файл, созданный после копии.
Полная копия заняла еще около 256 МиБ. Если добавлять столько новых данных ежедневно и хранить семь ежедневных полных копий, через месяц получится около 55 ГиБ вместе с активными файлами, без ОС.
Для архива копий в панели есть назначение S3. При таком росте выбирайте холодный класс на HDD, а активные каталоги приложений оставляйте на диске VPS. Постоянное хранение лишних полных копий быстро съедает место.
Смените версию приложения осознанно
Сначала подготовьте нужный образ, затем откройте меню приложения → Настройки → Compose. Измените строку image на новый тег и нажмите «Применить».
docker pull nginx:1.31.8-alpineТак на стенде перешли с Nginx 1.30.6 на 1.31.8. Проверяйте фактический образ запущенного контейнера, а не только сохраненный текст редактора:
docker inspect fca-demo-web-1 --format '{{.Config.Image}}'Для возврата версии отдельно поставьте прежний тег в Compose и снова примените изменение. На стенде возврат к уже скачанному образу занял около трех секунд до ответа сайта.
Сохраните данные и верните их после ошибки
Откройте Настройки панели → Backup destinations → Configure, выберите SFTP и задайте адрес отдельного сервера, порт, пользователя, пароль и каталог назначения. Кнопка Check проверяет подключение.
В меню приложения нажмите Back up, выберите назначение и оставьте включенным Stop the app while it is copied. Приложение остановится на время копирования и вернется само.
Для восстановления откройте Configure → History, найдите копию нужного приложения и нажмите Restore. Подтверждайте операцию, когда готовы заменить текущие данные: файлы, появившиеся после копии, также могут исчезнуть.
Перед копированием сохраните контрольную сумму своего файла; после Restore проверьте ее той же утилитой:
sha256sum /DATA/AppData/fca-demo/site/index.html > /root/site.sha256
# После восстановления:
sha256sum -c /root/site.sha256Где может сломаться
Причина. Глобальный лимит входа учитывает успешные попытки тоже: начальный запас пять, восстановление одной попытки в минуту.
Решение. Прекратите повторные входы, подождите несколько минут и войдите один раз. Повторный запрос сразу после отказа ситуацию не исправляет.
Причина. Обычная форма импорта переписывает часть параметров под собственные поля.
Решение. Выберите Import → Install as written, затем откройте Compose и проверьте строку host_ip: 127.0.0.1. В нашем примере это условие доступа через Caddy.
Причина. Без hostname проверка готовности обращается к https://127.0.0.1:8443, а Caddy ожидает доменное имя в TLS-запросе.
Решение. Задайте hostname: ваш-домен в блоке x-casaos, как в примере выше. Адрес должен совпадать с именем в Caddy.
Причина. Установщик сам добавляет правила UFW для локального обнаружения устройств.
Решение. Выполните шаг отключения discovery из инструкции. Имя службы здесь casaos-wsdd.service, а не wsdd.service.
Если панель не отвечает, начните с состояний службы и журнала. Так можно отличить отказ gateway от ошибки внешнего прокси:
systemctl status casaos-gateway caddy --no-pager
journalctl -u casaos-gateway -u caddy -n 50 --no-pager
curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:8080/
Почему gateway остается на localhost
В 0.5.84 воспроизведено неавторизованное чтение собственного тестового файла через старый маршрут аватара, соответствующее файловой части CVE-2025-34171. Поэтому в инструкции этот маршрут закрыт Caddy, а gateway недоступен напрямую.
Это ограничение доступа в прокси, а не исправление backend. Старые аватары через этот маршрут перестают работать. Проверьте, что внешняя точка входа действительно возвращает 404:
curl -s -o /dev/null -w "%{http_code}\n" https://ваш-домен/v1/users/imageПанель управляет Docker и хостовыми службами. Доступ администратора дает возможность менять приложения и выполнять команды; храните пароль отдельно от файлов сайта и не раздавайте его посетителям приложений.
Уязвимости прошлых версий
База форка новее перечисленных исторических исправлений CasaOS. Номера в таблице относятся к исходному CasaOS и его компонентам, а не к дистрибутиву ReCasaOS. На старой установке нельзя ориентироваться только на похожие цифры версии.
| Бюллетень / уровень | Затронутый CasaOS | Исправление | Риск старой установки |
|---|---|---|---|
| CVE-2023-37266, critical | До 0.4.4 | 0.4.4 | Подделка токена и выполнение команд без входа |
| CVE-2023-37265, critical | До 0.4.4 | 0.4.4 | Обход входа через проверку адреса клиента |
| CVE-2023-37469, critical | До 0.4.4 | 0.4.4 | Команды через подконтрольный SMB-сервер после входа |
| CVE-2022-24193, critical | До 0.2.7 | Граница 0.2.7 по CNA | Инъекция команд в старых API |
| CVE-2024-24767, high | UserService 0.4.4.3 | 0.4.7 | Не ограничивался подбор пароля |
| CVE-2024-24765, high | По Impact: 0.4.6 и ранние | 0.4.7 | Произвольное чтение файлов через путь аватара |
| CVE-2024-24766, medium | UserService 0.4.4.3 | 0.4.7 | Можно узнать существующие логины |
| CVE-2024-28232, medium | UserService 0.4.7 | 0.4.8 | Повторный вариант раскрытия существования пользователя |
Старый хост сначала сохраните вместе с данными приложений. Описанный выше путь создает чистую установку ReCasaOS; не запускайте его поверх рабочего CasaOS как команду миграции.
Когда это НЕ ваш выбор
Нужен автоматический откат всей версии
Restore установленного приложения возвращает данные, но сохраняет текущие Compose и .env. На стенде после восстановления старой копии остался новый Nginx: прежний тег пришлось применять отдельно.
Нужно только файловое облако
Панель приложений добавляет еще один административный слой. Для доступа к семейным файлам с телефона начните с Nextcloud, если управление другими сервисами вам не нужно.
Нельзя допускать ручных мер защиты
Для публичного VPS в этой версии нужен запрет служебного маршрута в прокси. Если вы ожидаете безопасную публикацию штатного gateway без дополнительных настроек, выбирайте другой путь.
Требуется полностью русский интерфейс или готовая защита от потери VM
Часть важных диалогов остается английской. Проверенная копия на том же диске спасает от ошибки в файлах, но при потере сервера пропадет вместе с ним.
Что поставить рядом
- Nextcloud - файловое облако, если основная задача связана с документами и синхронизацией.
- Caddy - единая внешняя точка HTTPS для панели и тестовой страницы, уже настроенная в инструкции.
- Отдельное назначение копий - SFTP на другом сервере или S3 для архива; активные каталоги Docker остаются локальными.
Частые вопросы
Это то же самое, что CasaOS?
Нет. ReCasaOS - отдельный общественный форк со своими релизами. В этом разборе установлен дистрибутив 0.5.84; установщик закреплен именно на нем.
Где сменить язык?
Settings → Language → Русский. Выбор сохраняется после перезагрузки страницы.
Как увидеть настоящее определение приложения?
Меню приложения → Настройки → Compose. На диске ему соответствует /var/lib/casaos/apps/fca-demo/docker-compose.yml для нашего примера.
Будет ли сайт работать при остановленной панели?
Запущенный тестовый Nginx продолжал отвечать, когда все шесть служб панели были остановлены. Docker и Caddy при этом оставались запущенными.
Зачем нужен порт 8443?
В примере это внешний HTTPS-адрес страницы Nginx. Внутри контейнер слушает порт 80, опубликованный только на 127.0.0.1:18080.
Проверено на версии v0.5.84, 4 ноября 2026. На новых версиях результаты могут отличаться.
Итог
ReCasaOS собирает повседневные действия с личными приложениями в одном месте. Вы видите Compose, меняете тег образа и запускаете копирование из браузера, сохраняя доступ к обычным файлам на сервере.
Рекомендуемая конфигурация для установки:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe
Не хотите устанавливать вручную?
Запустите ReCasaOS на этой конфигурации автоматически - от 450 ₽/мес.
Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.