Самохостинг (часть 5) - логи

Самохостинг (часть 5) - логи
Photo by Kevin Horvat / Unsplash

Часто при развертывании нового сервиса есть сложность с чем-либо и нужно посмотреть что же идет не так. Можно всегда зайти на сервер по ssh и посмотреть логи, но иногда сильно удобнее их смотреть через веб-интерфейс. И вот тут нам на помощь приходит Dozzle.

Что такое Dozzle?

Dozzle — это open-source проект, спонсируемый Docker OSS. Это веб-приложение, предназначенное для упрощения мониторинга и отладки контейнеров. Dozzle предлагает потоковую передачу логов в реальном времени, фильтрацию и поиск через интуитивно понятный интерфейс.

С помощью Dozzle пользователи могут быстро получать доступ к логам, генерируемым их Docker-контейнерами. Это делает его незаменимым инструментом для отладки и устранения неполадок в Docker-среде. По умолчанию Dozzle поддерживает логи в формате JSON с интеллектуальной цветовой разметкой, что упрощает чтение и анализ данных.

Основные возможности Dozzle

  • Потоковая передача логов в реальном времени: Dozzle позволяет отслеживать логи контейнеров в режиме реального времени, что особенно полезно при отладке работающих приложений.
  • Фильтрация и поиск: Инструмент предоставляет возможность фильтровать логи по контейнерам и искать конкретные сообщения, что значительно ускоряет процесс анализа.
  • Цветовая разметка: Логи в формате JSON автоматически выделяются цветами, что делает их более читаемыми.
  • Простота установки и настройки: Dozzle легко развернуть с помощью Docker, а его минималистичный интерфейс не требует сложной настройки.
  • Поддержка аутентификации: Dozzle поддерживает простую аутентификацию, что позволяет защитить доступ к логам.

Как установить Dozzle?

Dozzle можно легко развернуть с помощью Docker Compose. Добавляем в наш docker-compose.yaml следующий сервис:

  dozzle:
    image: amir20/dozzle:latest
    container_name: dozzle
    environment:
      - DOZZLE_AUTH_PROVIDER=simple
      - DOZZLE_NO_ANALYTICS=true
      - DOZZLE_AUTH_TTL=48h
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /opt/docker/dozzle/data:/data
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.logs-opt.rule=Host(`logs.home.example.com`)"
      - "traefik.http.routers.logs-opt.entrypoints=https"
      - "traefik.http.routers.logs-opt.tls.certresolver=myresolver"
      - "traefik.http.services.logs-opt.loadbalancer.server.port=8080"
      - "traefik.http.services.logs-opt.loadbalancer.server.scheme=http"

Запускаем с помощью уже изученной команды:

docker compose up -d

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

Read more

🔄 Своя Dropbox-альтернатива: Syncthing

🔄 Своя Dropbox-альтернатива: Syncthing

🧠 Зачем? Облачные сервисы — удобно, но: * не хочется платить Google/Dropbox за хранение своих файлов * хочется моментально синхронизировать фото, документы и заметки между устройствами * и делать это на своём сервере, без отправки данных «в облако» 👉 Решение — Syncthing: децентрализованный, зашифрованный, open source-синк между любыми устройствами. 🚀 Что ты получишь? * 📂 Автосинк папок между сервером,

🎧 Свой подкаст-сервер за 5 минут: Podgrab

🎧 Свой подкаст-сервер за 5 минут: Podgrab

✨ Зачем? Подкасты — отличный способ учиться, развлекаться и быть в курсе мира. Но что, если: * Хочется слушать подкасты офлайн * Хочется архивировать любимые шоу * Не устраивают сторонние сервисы, реклама и трекеры Решение: Podgrab — простой подкаст-граббер, который автоматически скачивает новые выпуски с любого RSS. А в связке с Audiobookshelf ты получаешь полноценный медиасервер.

Безопасное управление конфигурациями в Ansible: Полное руководство по использованию rescue и always

Безопасное управление конфигурациями в Ansible: Полное руководство по использованию rescue и always

Введение: Почему это важно В мире DevOps и системного администрирования существует простое правило: всё ломается. Особенно в самый неподходящий момент. Когда вы изменяете конфигурацию критического сервиса (например, Nginx), цена ошибки может быть очень высока — от простого даунтайма до потери данных. Ansible предлагает элегантное решение для безопасного внесения изменений через механизм

Использование ~/.ssh/authorized_keys для управления входящими SSH-соединениями

Использование ~/.ssh/authorized_keys для управления входящими SSH-соединениями

Файл ~/.ssh/authorized_keys позволяет настроить команды, которые будут выполняться при входящих SSH-соединениях. Это полезный инструмент для управления доступом и обеспечения безопасности, особенно при работе с резервным копированием данных. Настройка резервного копирования с использованием authorized_keys В данном примере рассматривается использование authorized_keys для настройки резервного копирования базы данных Bacula