Giter Club home page Giter Club logo

dozzle's Introduction

Go Report Card Docker Pulls Docker Size Docker Version

Dozzle - dozzle.dev

Dozzle is a real-time log viewer for Docker. It's free. It's small. And it's in your browser.

While dozzle should work for most, it is not meant to be a full logging solution. For enterprise use, I recommend you look at Loggly, Papertrail or Kibana.

But if you don't want to pay for these services, then Dozzle can help! Dozzle will be able to capture all logs from your containers and send them in real-time to your browser. Installation is also very easy. Dozzle is not a database. It does not store or save any logs. You can only see live logs while using Dozzle.

Image

Getting dozzle

Dozzle is a very small Docker container (4 MB compressed). Pull the latest release from the index:

$ docker pull amir20/dozzle:latest

Using dozzle

The simplest way to use dozzle is to run the docker container. Also, mount the Docker Unix socket with --volume to /var/run/docker.sock:

$ docker run --name dozzle -d --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:8080 amir20/dozzle:latest

dozzle will be available at http://localhost:8888/. You can change -p 8888:8080 to any port. For example, if you want to view dozzle over port 4040 then you would do -p 4040:8080.

With Docker swarm

docker service create \
--name=dozzle \
--publish=8888:8080 \
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
amir20/dozzle:latest

With Docker compose

version: "3"
services:
  dozzle:
    container_name: dozzle
    image: amir20/dozzle:latest
    environment:
      - DOZZLE_TAILSIZE=100
      - DOZZLE_FILTER=status=running
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 9999:8080

Security

dozzle doesn't support authentication out of the box. You can control the device dozzle binds to by passing --addr parameter. For example,

$ docker run --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:1224 amir20/dozzle:latest --addr localhost:1224

will bind to localhost on port 1224. You can then use a reverse proxy to control who can see dozzle.

If you wish to restrict the containers shown you can pass the --filter parameter. For example,

$ docker run --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:1224 amir20/dozzle:latest --filter name=foo

this would then only allow you to view containers with a name starting with "foo". You can use other filters like status as well, please check the official docker command line docs for available filters.

Changing base URL

dozzle by default mounts to "/". If you want to control the base path you can use the --base option. For example, if you want to mount at "/foobar", then you can override by using --base /foobar. See env variables below for using DOZZLE_BASE to change this.

$ docker run --volume=/var/run/docker.sock:/var/run/docker.sock -p 8080:8080 amir20/dozzle:latest --base /foobar

dozzle will be available at http://localhost:8080/foobar/.

Environment variables and configuration

Dozzle follows the 12-factor model. Configurations can use the CLI flags or enviroment variables. The table below outlines all supported options and their respective env vars.

Flag Env Variable Default
--addr DOZZLE_ADDR :8080
--base DOZZLE_BASE /
--level DOZZLE_LEVEL info
--showAll DOZZLE_SHOWALL false
n/a DOCKER_API_VERSION 1.38
--tailSize DOZZLE_TAILSIZE 300
--filter DOZZLE_FILTER ""

License

MIT

Building

To Build and test locally:

  1. Install NodeJs.
  2. Install Go.
  3. Globally install packr utility with go get -u github.com/gobuffalo/packr/packr outside of dozzle directory.
  4. Install reflex with get -u github.com/cespare/reflex outside of dozzle.
  5. Install node modules with npm install.
  6. Do npm start

Instructions for Github actions can be found here which build and tests Dozzle.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.