https://dashboard.samohosting.ru
Дашбоард
https://github.com/Lissy93/dashy
Загрузчик с ютуба
https://github.com/alexta69/metube
Управление приложениями
https://dashy.to/docs/management
Предоставление ресурсов#
Хотя это и не обязательно, вы, скорее всего, захотите предоставить несколько ресурсов своему запущенному приложению.
Это легко сделать с помощью Docker Volumes, который позволяет вам совместно использовать файл или каталог между вашей хост-системой и контейнером. Тома указываются в команде Docker run или файле Docker compose с помощью флагов --volume или -v. Значение которого состоит из пути к файлу / каталогу в вашей хост-системе, за которым следует путь назначения внутри контейнера. Поля разделяются двоеточием (:) и должны располагаться в правильном порядке. Например: -v ~/alicia/my-local-conf.yml:/app/user-data/conf.yml
В Dashy обычно настраиваемые ресурсы включают:
./user-data/conf.yml - Ваш основной конфигурационный файл приложения
./public/item-icons - Каталог, содержащий ваши собственные иконки. Это обеспечивает автономный доступ и лучшую производительность, чем выборка с CDN
Также в ./public вы найдете стандартные ресурсы веб-сайта, включая favicon.ico, manifest.json, robots.txt и т.д. Передавать их нет необходимости, но вы можете сделать это, если пожелаете
/src/styles/user-defined-themes.scss - Таблица стилей для применения пользовательского CSS к вашему приложению. Вы также можете написать здесь свои собственные темы.
Запуск команд#
Если вы запускаете приложение в Docker, то для выполнения в контейнер необходимо будет передавать команды. Это можно сделать, написав перед каждой командой docker exec -it [container-id], где идентификатор контейнера можно найти, выполнив docker ps. Например, docker exec -it 26c156c467b4 yarn build. Вы также можете войти в контейнер с помощью docker exec -it [container-id] /bin/ash и перемещаться по нему с помощью обычных команд Linux.
В Dashy есть несколько команд, которые можно использовать для различных задач, вы можете найти их список либо в документации по разработке, либо просмотрев package.json. Их можно использовать, запустив yarn [command-name].
Проверки работоспособности#
Проверки работоспособности настроены на периодическую проверку работоспособности Dashy на указанном порту. По умолчанию скрипт работоспособности вызывается каждые 5 минут, но это можно изменить с помощью опции --health-interval. Вы можете проверить текущую работоспособность контейнера с помощью: docker inspect --format "{{json .State.Health }}" [container-id], и сводка состояния работоспособности отобразится в разделе docker ps. Вы также можете вручную запросить текущее состояние приложения, выполнив docker exec -it [container-id] yarn health-check. Вы можете полностью отключить проверки работоспособности, добавив --no-healthcheck флаг в свою команду запуска Docker.
Чтобы автоматически перезапустить неработоспособные контейнеры, проверьте Автозаполнение. Это изображение отслеживает наличие неработоспособных контейнеров и автоматически запускает перезапуск. (Это замена для Docker, --exit-on-unhealthy которая была предложена, но не объединена). Существует также Deunhealth, который отличается сверхлегкостью и не требует доступа к сети.
Код: Выделить всё
docker run -d \
--name autoheal \
--restart=always \
-e AUTOHEAL_CONTAINER_LABEL=all \
-v /var/run/docker.sock:/var/run/docker.sock \
willfarrell/autoheal
Журналы контейнеров#
Вы можете просматривать журналы для данного контейнера Docker с помощью docker logs [container-id], добавьте --follow флаг для потоковой передачи журналов. Для получения дополнительной информации см. Документацию по протоколированию. Существует также Dozzle, полезный инструмент, предоставляющий веб-интерфейс, с помощью которого вы можете транслировать журналы из всех ваших запущенных контейнеров и запрашивать их из одного веб-приложения.
Производительность контейнера#
Вы можете проверить использование ресурсов для ваших запущенных контейнеров Docker с помощью docker stats или docker stats [container-id]. Для получения дополнительной информации обратитесь к документации по статистике. Существует также cAdvisor, полезное веб-приложение для просмотра и анализа использования ресурсов и производительности всех ваших запущенных контейнеров.
Приложения для управления#
Вы также можете просматривать журналы, использование ресурсов и другую информацию, а также управлять всем рабочим процессом Docker в сторонних приложениях для управления Docker. Например, Portainer - универсальный веб-интерфейс управления с открытым исходным кодом для Docker и Kubernetes или LazyDocker - пользовательский интерфейс терминала для управления контейнерами Docker и мониторинга.
Расширенное ведение журнала и мониторинг#
Docker поддерживает использование Prometheus для сбора журналов, которые затем можно визуализировать с помощью такой платформы, как Grafana. Для получения дополнительной информации см. Это руководство. Если вам нужно перенаправить свои журналы в удаленный системный журнал, рассмотрите возможность использования logspout. Для инстансов корпоративного уровня существуют управляемые сервисы, которые очень упрощают мониторинг журналов контейнеров и метрик, такие как Sematext с помощью Logagent.
Автоматический запуск при загрузке системы#
Вы можете использовать политики перезапуска в Docker, чтобы указать контейнеру запускаться после перезагрузки системы или перезапускаться после сбоя. Просто добавьте --restart=always флаг в свой скрипт Docker compose или команду Docker run. Для получения дополнительной информации обратитесь к документации по автоматическому запуску контейнеров.
Для Podman вы можете использовать systemd для создания службы, которая запускает ваш контейнер, в документах это объясняется подробнее. Аналогичный подход можно использовать с Docker, если вам нужно запустить контейнеры после перезагрузки, но перед любым взаимодействием с пользователем.
Чтобы перезапустить контейнер после сбоя чего-либо внутри него, рассмотрите возможность использования docker-autoheal от @willfarrell, службы, которая отслеживает и перезапускает неработоспособные контейнеры. Для получения дополнительной информации смотрите раздел "Проверки работоспособности" выше.