Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted
Инфраструктура и сеть

ReCasaOS

Панель для личных приложений, которая работает на вашем сервере: установка, настройки, обновления и резервные копии через браузер. Развернули 0.5.84 на Fatmetal Cloud Server, замерили ресурсы и проверили восстановление испорченных файлов.

Проверено на версии v0.5.84, 4 ноября 2026~11 минут чтенияFatmetal Team
Личные приложенияЛицензия: Apache-2.0Статус: запущен у нас, v0.5.84

Вердикт

Подходит
  • Владельцу нескольких Docker-приложений, который хочет менять настройки и делать копии в одной панели.
  • Пользователю CasaOS, который выбирает развивающийся форк с редактором Compose и восстановлением данных.
Не подходит
  • Нужно только семейное файловое облако с клиентом на телефоне.
  • Нужен полный автоматический откат приложения одной кнопкой.
Рекомендуем: CPU2-RAM4-DISK50Сложность: mediumRAM в простое: 179 МиБ со службамиРучной запуск: около 10 минутГлавный риск: панель имеет доступ к хостуДля работы: HTTPS; маршрут аватаров панели закрыт снаружи
Что это

Зачем нужна ReCasaOS

Когда сервисов несколько, обычные операции расползаются по терминалам: найти Compose, поменять образ, сохранить данные перед экспериментом. ReCasaOS собирает эти действия в браузере и показывает приложения карточками.

ReCasaOS - общественный форк CasaOS. Его стоит рассмотреть, если нужны редактор Compose для настройки приложений и восстановление их данных из резервных копий.

Через панель можно менять настройки и образ приложения, сохранять и восстанавливать его файлы. Восстановление файлов не означает полного автоматического отката приложения одной кнопкой.

Русский язык включается в Settings → Language → Русский. Основные виджеты переведены, а пояснения Compose и резервного копирования остаются английскими. Скриншоты показывают именно эту смешанную локализацию.

Главная панель ReCasaOS на русском с установленной личной страницей
Панель показывает установленные приложения и состояние VM. Значения виджетов меняются во время работы.
Сравнение

Чем отличается от 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» здесь нет.

GoVue 3systemdDocker + Composerclone

Настройки хоста лежат в /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.

  1. Подготовьте чистую 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
  2. Закройте первый вход через веб

    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
  3. Установите закрепленный релиз

    Используйте установщик именно 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
  4. Создайте администратора

    Введите свой логин и длинный пароль: пароль при наборе скрыт и не попадает в аргументы процесса. Эта команда предназначена для первого аккаунта на пустой установке.

    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
  5. Отключите поиск локальных устройств

    Установщик открывает порты обнаружения локальной сети. На публичном 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
  6. Откройте панель через 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 есть контейнерная консоль: она выполняет команды внутри выбранного контейнера, а не в оболочке вашего компьютера.

Приложение Nginx открыто во встроенном окне ReCasaOS
Личная страница открыта через публичный HTTPS. Это небольшой пример приложения, которым управляет панель.
Замеры

Какие ресурсы нужны на практике

Стенд: CPU2-RAM4-DISK50, Ubuntu 24.04.4, Docker 29.9.3, ReCasaOS 0.5.84. Для памяти считаем anon служб и контейнеров, без файлового кеша; это расход выбранного набора процессов, а не всей ОС.

Панель со службами, без приложений179 МиБ в простое
Из них шесть служб ReCasaOS89 МиБ
Наблюдавшийся пик при работе256 МиБ
Диск с данными и одной копией3,85 ГиБ занято
Образ тестового Nginx93,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 и снова примените изменение. На стенде возврат к уже скачанному образу занял около трех секунд до ответа сайта.

Редактор Compose ReCasaOS с тегом Nginx и каталогом данных
Compose сохраняет конкретный тег, localhost-порт и каталог сайта. Менять версию нужно явно.
Резервные копии

Сохраните данные и верните их после ошибки

Откройте Настройки панели → Backup destinations → Configure, выберите SFTP и задайте адрес отдельного сервера, порт, пользователя, пароль и каталог назначения. Кнопка Check проверяет подключение.

В меню приложения нажмите Back up, выберите назначение и оставьте включенным Stop the app while it is copied. Приложение остановится на время копирования и вернется само.

Диалог резервного копирования приложения с включенной остановкой
Параметры копирования. stand-sftp в испытании находился на той же VM; для аварийного восстановления нужен отдельный сервер или хранилище.

Для восстановления откройте Configure → History, найдите копию нужного приложения и нажмите Restore. Подтверждайте операцию, когда готовы заменить текущие данные: файлы, появившиеся после копии, также могут исчезнуть.

Перед копированием сохраните контрольную сумму своего файла; после Restore проверьте ее той же утилитой:

sha256sum /DATA/AppData/fca-demo/site/index.html > /root/site.sha256
# После восстановления:
sha256sum -c /root/site.sha256
История копирования и восстановления ReCasaOS с завершенными задачами
История реальных задач. Copied считает группы, а не файлы; содержимое дополнительно проверено контрольными суммами.
Диагностика

Где может сломаться

HTTP 429 при правильном логине и пароле

Причина. Глобальный лимит входа учитывает успешные попытки тоже: начальный запас пять, восстановление одной попытки в минуту.

Решение. Прекратите повторные входы, подождите несколько минут и войдите один раз. Повторный запрос сразу после отказа ситуацию не исправляет.

Импорт Compose изменил порты или ограничения

Причина. Обычная форма импорта переписывает часть параметров под собственные поля.

Решение. Выберите Import → Install as written, затем откройте Compose и проверьте строку host_ip: 127.0.0.1. В нашем примере это условие доступа через Caddy.

App may not be available, хотя сайт отвечает

Причина. Без 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.40.4.4Подделка токена и выполнение команд без входа
CVE-2023-37265, criticalДо 0.4.40.4.4Обход входа через проверку адреса клиента
CVE-2023-37469, criticalДо 0.4.40.4.4Команды через подконтрольный SMB-сервер после входа
CVE-2022-24193, criticalДо 0.2.7Граница 0.2.7 по CNAИнъекция команд в старых API
CVE-2024-24767, highUserService 0.4.4.30.4.7Не ограничивался подбор пароля
CVE-2024-24765, highПо Impact: 0.4.6 и ранние0.4.7Произвольное чтение файлов через путь аватара
CVE-2024-24766, mediumUserService 0.4.4.30.4.7Можно узнать существующие логины
CVE-2024-28232, mediumUserService 0.4.70.4.8Повторный вариант раскрытия существования пользователя

Старый хост сначала сохраните вместе с данными приложений. Описанный выше путь создает чистую установку ReCasaOS; не запускайте его поверх рабочего CasaOS как команду миграции.

Выбор

Когда это НЕ ваш выбор

Нужен автоматический откат всей версии

Restore установленного приложения возвращает данные, но сохраняет текущие Compose и .env. На стенде после восстановления старой копии остался новый Nginx: прежний тег пришлось применять отдельно.

Нужно только файловое облако

Панель приложений добавляет еще один административный слой. Для доступа к семейным файлам с телефона начните с Nextcloud, если управление другими сервисами вам не нужно.

Нельзя допускать ручных мер защиты

Для публичного VPS в этой версии нужен запрет служебного маршрута в прокси. Если вы ожидаете безопасную публикацию штатного gateway без дополнительных настроек, выбирайте другой путь.

Требуется полностью русский интерфейс или готовая защита от потери VM

Часть важных диалогов остается английской. Проверенная копия на том же диске спасает от ошибки в файлах, но при потере сервера пропадет вместе с ним.

Рядом

Что поставить рядом

  • Nextcloud - файловое облако, если основная задача связана с документами и синхронизацией.
  • Caddy - единая внешняя точка HTTPS для панели и тестовой страницы, уже настроенная в инструкции.
  • Отдельное назначение копий - SFTP на другом сервере или S3 для архива; активные каталоги Docker остаются локальными.
FAQ

Частые вопросы

Это то же самое, что 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 ₽/мес.

Запустить ReCasaOS →
Анонсы новых разборов в Telegram-канале Новые гайды и карточки в маркетплейсе первыми @fatmetal_channel →

Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.