diff --git a/docs/assets/images/dozzle.png b/docs/assets/images/dozzle.png new file mode 100644 index 000000000..b36e60944 Binary files /dev/null and b/docs/assets/images/dozzle.png differ diff --git a/docs/assets/images/gatus-dashboard.png b/docs/assets/images/gatus-dashboard.png new file mode 100644 index 000000000..a725d5d47 Binary files /dev/null and b/docs/assets/images/gatus-dashboard.png differ diff --git a/docs/installation/components/dozzle.md b/docs/installation/components/dozzle.md new file mode 100644 index 000000000..1f5efffbb --- /dev/null +++ b/docs/installation/components/dozzle.md @@ -0,0 +1,63 @@ +--- +status: new +--- + +# Dozzle + + + + +[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. + +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. + +In a SeaTable context, it simplifies troubleshooting by aggregating logs from all services in your Docker Compose stack via the shared Docker socket. + +![Dozzle is an open-source web-based log viewer](../../assets/images/dozzle.png) + +!!! warning "Logs may contain sensitive data" + + 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. + +## Installation + +This guide explains how to install **Dozzle** on your SeaTable server. + +#### Change the .env file + +As with other additional components, first add `dozzle.yml` to the `COMPOSE_FILE` variable in your `.env` file. + +Copy and paste (:material-content-copy:) the following command into your terminal: + +```bash +sed -i "s/COMPOSE_FILE='\(.*\)'/COMPOSE_FILE='\1,dozzle.yml'/" /opt/seatable-compose/.env +``` + +## Create a dozzle admin login + +Dozzle requires you to create login credentials. Use the command line tool `pwgen` to create a secure password for your *dozzle admin account*. + +The following command will generate the necessary file at `/opt/dozzle/users.yaml`: + +```bash +export DOZZLE_PASSWORD=`pwgen -c 40 1` +docker run -it --rm amir20/dozzle generate --name DozzleAdmin --email dozzleadmin@example.com --password ${DOZZLE_PASSWORD} dozzleadmin > /opt/dozzle/users.yaml +echo 'Now you can login to dozzle with `dozzleadmin` + `'${DOZZLE_PASSWORD}'`' +``` + +Alternatively, you can change the command and adapt it to your needs. + +!!! danger "Avoid special characters in passwords" + + 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. + + Instead, choose a **long password** using uppercase, lowercase, and digits to ensure both compatibility and security. + +#### Start Dozzle + +To start **Dozzle** for the first time, run: + +``` +cd /opt/seatable-compose && \ +docker compose up -d +``` \ No newline at end of file diff --git a/docs/installation/components/gatus.md b/docs/installation/components/gatus.md index 9d2c230aa..9f73e65ec 100644 --- a/docs/installation/components/gatus.md +++ b/docs/installation/components/gatus.md @@ -1,10 +1,6 @@ ---- -status: new ---- - # Gatus -Gatus provides your users with a real-time status page for your SeaTable Server and alerts you if any core components become unreachable. By default Gatus monitors the following components: +[Gatus](https://github.com/TwiN/gatus) provides your users with a real-time status page for your SeaTable Server and alerts you if any core components become unreachable. By default Gatus monitors the following components: - SeaTable Login Page - SeaTable API Gateway @@ -13,7 +9,7 @@ Gatus provides your users with a real-time status page for your SeaTable Server - Certificate Expiration - Python Pipeline - +![Gatus provides a real-time status page of your SeaTable Server](../../assets/images/gatus-dashboard.png) ## Installation diff --git a/docs/installation/components/releem.md b/docs/installation/components/releem.md index 0be607d32..937fa8925 100644 --- a/docs/installation/components/releem.md +++ b/docs/installation/components/releem.md @@ -1,7 +1,3 @@ ---- -status: new ---- - # Releem **Releem** is a MySQL performance monitoring and tuning tool designed to optimize your MariaDB database. It operates alongside your database, collecting performance data and providing recommended configuration improvements. While Releem offers automated insights, experienced database professionals may prefer manual tuning for deeper control. diff --git a/mkdocs.yml b/mkdocs.yml index 4127c2e5a..5c927fe91 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -163,6 +163,7 @@ nav: - OnlyOffice: installation/components/onlyoffice.md - Monitoring: - Gatus: installation/components/gatus.md + - Dozzle: installation/components/dozzle.md - Uptime Kuma: installation/components/uptime-kuma.md - Zabbix: installation/components/zabbix.md - Releem: installation/components/releem.md