Перейти к содержимому

CasaOS: веб-панель для домашней лаборатории

Если у тебя несколько Docker-контейнеров на домашнем сервере и ты заходишь в веб-морду через порт каждого, пора что-то менять. CasaOS — это минималистичная веб-панель, которая объединяет контейнеры в единый интерфейс, позволяет ставить приложения в пару кликов и не требует настройки Nginx или Portainer.

Установка

CasaOS ставится на чистую систему одной командой. Поддерживает Debian 10+, Ubuntu 18.04+, Raspbian. Если Docker уже есть — сначала снеси его или ставь в отдельный контейнер.

curl -fsSL https://get.casaos.io | bash

После завершения скрипт выведет адрес панели. По умолчанию — http://<IP-сервера>:80. Веб-интерфейс откроется сразу, аккаунт root.

Примечание

Установщик поднимает свой Docker-стек. Если у тебя уже работает dockerd, CasaOS перезапишет конфиги сети. Имей снапшоты или резервную копию.

После установки проверь статус сервиса:

systemctl status casaos

Интерфейс и возможности

Главный экран — плитка из установленных приложений. Каждая карточка показывает статус (работает / остановлен), иконку и быстрые действия: запуск, остановка, перезагрузка, удаление.

Боковая панель слева: файловый менеджер, список контейнеров, магазин приложений и настройки. Из коробки CasaOS умеет:

  • создавать тома для данных и монтировать USB-накопители;
  • пробрасывать порты через веб-интерфейс;
  • показывать использование CPU, RAM, диска и сети;
  • редактировать compose-файлы прямо в браузере.

Для домашней лаборатории этого хватает в 80 % случаев. Оставшиеся 20 % — ручные compose-файлы.

Установка приложений из каталога

Каталог CasaOS содержит несколько десятков подготовленных шаблонов. Найди нужное, нажми «Установить» — система сгенерирует compose-файл и запустит контейнер. В фоне работает AppStore, по сути обёртка над docker-compose.

Типичный процесс:

  1. Открой App Store в боковой панели.
  2. Выбери приложение, например Plex или AdGuard Home.
  3. Укажи путь для данных и проброс портов, если нужно.
  4. Нажми Install.

Для AdGuard Home это выглядит так:

# то же самое, что делает CasaOS под капотом:
docker run -d \
  --name adguardhome \
  --restart unless-stopped \
  -v /opt/adguardhome/work:/opt/adguardhome/work \
  -v /opt/adguardhome/conf:/opt/adguardhome/conf \
  -p 53:53/tcp \
  -p 53:53/udp \
  -p 3000:3000/tcp \
  --network host \
  adguard/adguardhome

Все параметры задаются через веб-форму, ручное редактирование не требуется.

Ручной запуск контейнеров

Когда нужного приложения нет в каталоге, CasaOS позволяет загрузить свой compose-файл.

# пример: Cloudflare Tunnel для доступа к сервисам извне
docker run -d \
  --name cloudflared \
  --restart unless-stopped \
  -e TUNNEL_TOKEN=твой_токен \
  docker.io/cloudflare/cloudflared:latest \
  tunnel run

В CasaOS: App Store → Upload — загрузи YAML. Система распарсит, предложит изменить переменные и запустит. Контейнер появится на главном экране.

Подсказка

Используй папку /DATA/AppData/ для всех volume. Это упрощает бэкап — весь стейт лежит в одном каталоге.

Структура хранения данных

CasaOS создаёт три ключевых директории:

ПутьНазначение
/DATA/AppData/Конфигурации приложений
/DATA/Storage/Пользовательские файлы
/var/lib/casaos/Системные данные панели

При установке нового диска или USB-накопителя он появляется в File Manager и монтируется автоматически. Можно назначить любой каталог как storage по умолчанию для новых приложений: Settings → Storage → Default Location.

Обновление и обслуживание

Обновление самой панели:

wget https://github.com/IceWhaleTech/CasaOS/releases/latest/download/casaos-update.sh
bash casaos-update.sh

Образы контейнеров обновляются через веб-интерфейс: карточка приложения → меню (⋮) → Update. CasaOS подтянет свежий образ и пересоздаст контейнер, данные не тронет.

Логи всех сервисов доступны через терминал:

journalctl -u casaos -f
docker logs casaos -f

Для очистки неиспользуемых образов и сетей:

docker system prune -af

Когда стоит выбрать другое решение

CasaOS хороша для одного хоста. Если у тебя кластер из нескольких машин, она не умеет оркестрировать — это не замена Kubernetes или Docker Swarm.

Portainer даёт больше контроля над сетями, образами и стеками. Если ты привык к детальной настройке и пишешь compose-файлы руками, CasaOS покажется ограниченной.

Yacht — ещё более минималистичный вариант, без привязки к определённой файловой структуре. Подойдёт, если хочешь только веб-морду для контейнеров без файлового менеджера и каталога приложений.

Предупреждение

CasaOS активно развивается. Минорные обновления ломают совместимость шаблонов чаще, чем хотелось бы. Фиксируй рабочие compose-файлы в Git-репозитории, чтобы не пересоздавать стек с нуля.

Для домашнего сервера, где крутятся Pi-hole, Home Assistant, Jellyfin и пара-тройка утилит — CasaOS закрывает задачу без оверхеда. Поставил, добавил приложения, забыл.