From 91144e8758733655fb1e60aba3445cb92bd33ab7 Mon Sep 17 00:00:00 2001 From: Sascha Claren Date: Tue, 9 May 2023 11:18:27 +0000 Subject: [PATCH] Added Doozle Docker Log monitoring --- apps/dozzle/config.json | 18 ++++++++++++++++++ apps/dozzle/docker-compose.yml | 19 +++++++++++++++++++ apps/dozzle/metadata/description.md | 16 ++++++++++++++++ apps/dozzle/metadata/logo.jpg | Bin 0 -> 46164 bytes 4 files changed, 53 insertions(+) create mode 100644 apps/dozzle/config.json create mode 100644 apps/dozzle/docker-compose.yml create mode 100644 apps/dozzle/metadata/description.md create mode 100644 apps/dozzle/metadata/logo.jpg diff --git a/apps/dozzle/config.json b/apps/dozzle/config.json new file mode 100644 index 00000000..835de63a --- /dev/null +++ b/apps/dozzle/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "../schema.json", + "name": "Dozzle", + "available": true, + "exposable": true, + "port": 8013, + "id": "dozzle", + "tipi_version": 1, + "version": "latest", + "categories": [ + "development" + ], + "description": "Dozzle is a small web based app to monior Docker logs.", + "short_desc": "Dozzle is a small web based app to monior Docker logs", + "author": "Amir Raminfar", + "source": "https://github.com/amir20/dozzle", + "form_fields": [] +} diff --git a/apps/dozzle/docker-compose.yml b/apps/dozzle/docker-compose.yml new file mode 100644 index 00000000..d5f956c8 --- /dev/null +++ b/apps/dozzle/docker-compose.yml @@ -0,0 +1,19 @@ +version: "3" +services: + dozzle: + container_name: dozzle + image: amir20/dozzle:latest + restart: unless-stopped + volumes: + - /var/run/docker.sock:/var/run/docker.sock + ports: + - ${APP_PORT}:8080 + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.hdozzle.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.dozzle.entrypoints: websecure + traefik.http.routers.dozzle.service: dozzle + traefik.http.routers.dozzle.tls.certresolver: myresolver + traefik.http.services.dozzle.loadbalancer.server.port: 8080 diff --git a/apps/dozzle/metadata/description.md b/apps/dozzle/metadata/description.md new file mode 100644 index 00000000..4d8abf45 --- /dev/null +++ b/apps/dozzle/metadata/description.md @@ -0,0 +1,16 @@ +# Doozle + +Dozzle is a small lightweight application with a web based interface to monitor Docker logs. It doesnโ€™t store any log files. It is for live monitoring of your container logs only. + + +## Features + +- Intelligent fuzzy search for container names ๐Ÿค– +- Search logs using regex ๐Ÿ”ฆ +- Small memory footprint ๐ŸŽ +- Split screen for viewing multiple logs +- Download logs easy +- Live stats with memory and CPU usage +- Authentication with username and password ๐Ÿšจ + +https://github.com/amir20/dozzle \ No newline at end of file diff --git a/apps/dozzle/metadata/logo.jpg b/apps/dozzle/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..81dea48e25dfa6c05dc313abfe64c2ce4f461a40 GIT binary patch literal 46164 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 SQJMJO_5tryc>ZMke-i*&$kUqu literal 0 HcmV?d00001