Debug Logs

This article is written for Docker based deployments of Firezone.

Docker deployments of Firezone consist of 3 running containers:

ContainerFunctionExample logs
firezoneWeb portalHTTP requests received and responses provided
postgresDatabase
caddyReverse proxy

Each container generates and stores logs to a JSON file on the host machine. These files can be found at var/lib/docker/containers/{CONTAINER_ID}/{CONTAINER_ID}-json.log.

Run the docker compose logs command to view the log output from all running containers. Note, docker compose commands need to be run in the Firezone root directory. This is $HOME/.firezone by default.

See additional options of the docker compose logs command here.

Managing and configuring Docker logs

By default, Firezone uses the json-file logging driver without additional configuration. This means logs from each container are individually stored in a file format designed to be exclusively accessed by the Docker daemon. Log rotation is not enabled, so logs on the host can build up and consume excess storage space.

For production deployments of Firezone you may want to configure how logs are collected and stored. Docker provides multiple mechanisms to collect information from running containers and services.

Examples of popular plugins, configurations, and use cases are: