|
| 1 | +--- |
| 2 | +status: new |
| 3 | +--- |
| 4 | + |
| 5 | +# Dozzle |
| 6 | + |
| 7 | +<!-- md:version 6.1 --> |
| 8 | +<!-- md:feature --> |
| 9 | + |
| 10 | +[Dozzle](https://dozzle.dev/) is a lightweight, open-source web-based log viewer for Docker containers. It provides real-time monitoring of container logs without storing data persistently, making it ideal for quick debugging in containerized environments like SeaTable. Key features include fuzzy and regex search, SQL-based log queries, split-screen views for multiple containers, live CPU/memory stats, and multi-user authentication. |
| 11 | + |
| 12 | +A dedicated sidecar container (`seatable-logs` based on `sumologic/tailing-sidecar`) tails SeaTable log files from `/opt/seatable-server/seatable/logs` and redirects them to stdout, enabling seamless aggregation by **Dozzle** via the Docker socket. |
| 13 | + |
| 14 | +In a SeaTable context, it simplifies troubleshooting by aggregating logs from all services in your Docker Compose stack via the shared Docker socket. |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | +!!! warning "Logs may contain sensitive data" |
| 19 | + |
| 20 | + Dozzle logs may expose sensitive information like passwords, API keys, base URLs or personal data. Restrict access to authorized users only and avoid public exposure. |
| 21 | + |
| 22 | +## Installation |
| 23 | + |
| 24 | +This guide explains how to install **Dozzle** on your SeaTable server. |
| 25 | + |
| 26 | +#### Change the .env file |
| 27 | + |
| 28 | +As with other additional components, first add `dozzle.yml` to the `COMPOSE_FILE` variable in your `.env` file. |
| 29 | + |
| 30 | +Copy and paste (:material-content-copy:) the following command into your terminal: |
| 31 | + |
| 32 | +```bash |
| 33 | +sed -i "s/COMPOSE_FILE='\(.*\)'/COMPOSE_FILE='\1,dozzle.yml'/" /opt/seatable-compose/.env |
| 34 | +``` |
| 35 | + |
| 36 | +## Create a dozzle admin login |
| 37 | + |
| 38 | +Dozzle requires you to create login credentials. Use the command line tool `pwgen` to create a secure password for your *dozzle admin account*. |
| 39 | + |
| 40 | +The following command will generate the necessary file at `/opt/dozzle/users.yaml`: |
| 41 | + |
| 42 | +```bash |
| 43 | +export DOZZLE_PASSWORD=`pwgen -c 40 1` |
| 44 | +docker run -it --rm amir20/dozzle generate --name DozzleAdmin --email [email protected] --password ${DOZZLE_PASSWORD} dozzleadmin > /opt/dozzle/users.yaml |
| 45 | +echo 'Now you can login to dozzle with `dozzleadmin` + `'${DOZZLE_PASSWORD}'`' |
| 46 | +``` |
| 47 | + |
| 48 | +Alternatively, you can change the command and adapt it to your needs. |
| 49 | + |
| 50 | +!!! danger "Avoid special characters in passwords" |
| 51 | + |
| 52 | + When setting passwords manually (without `pwgen`), do **not** use special characters such as `%`, `#`, `$`, `&`, `'`, `"` or similar. These may cause issues and can prevent that you can login to Dozzle. |
| 53 | + |
| 54 | + Instead, choose a **long password** using uppercase, lowercase, and digits to ensure both compatibility and security. |
| 55 | + |
| 56 | +#### Start Dozzle |
| 57 | + |
| 58 | +To start **Dozzle** for the first time, run: |
| 59 | + |
| 60 | +``` |
| 61 | +cd /opt/seatable-compose && \ |
| 62 | +docker compose up -d |
| 63 | +``` |
0 commit comments