Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Running and logging

Running

# Proxy only (no dashboard):
./gradlew :fogwall-server:run

# Proxy + dashboard + REST API:
./gradlew :fogwall-dashboard:run

# Override port via environment variable:
FOGWALL_SERVER_PORT=9090 ./gradlew :fogwall-server:run

Logs: fogwall-server/logs/application.log


Logging

fogwall uses Log4j2 for logging. To override the bundled config without rebuilding the image, mount a custom log4j2.xml and point the JVM at it:

# Local run
JAVA_TOOL_OPTIONS=-Dlog4j2.configurationFile=/path/to/log4j2.xml ./gradlew :fogwall-dashboard:run

# Docker — mount your config and set the env var
volumes:
  - ./my-log4j2.xml:/app/conf/log4j2.xml:ro
environment:
  JAVA_TOOL_OPTIONS: -Dlog4j2.configurationFile=/app/conf/log4j2.xml

JAVA_TOOL_OPTIONS is read directly by the JVM, so it works regardless of how the application is launched.

A ready-made debug config (docker/log4j2-debug.xml) is included for diagnosing OIDC and Spring Security issues — it enables DEBUG on org.springframework.security and org.springframework.web.client. See the comments in that file for how to activate it.


Git client output

fogwall sends validation results and status messages to the git client via sideband (the remote: lines visible during a push). Two environment variables control the formatting of these messages:

VariableEffect
NO_COLORDisables ANSI colour in sideband output. Follows the no-color.org convention — set to any value to disable.
FOGWALL_NO_EMOJIReplaces emoji symbols (✅ ❌ ⛔ 🔑 etc.) with plain ASCII equivalents. Useful when pushing through terminals or CI systems that do not render Unicode correctly.

Both are read at runtime from the server’s environment — no restart is required if set before the process starts, but they cannot be changed while the server is running.

# Docker Compose — add to the fogwall service environment block
environment:
  NO_COLOR: "1"
  FOGWALL_NO_EMOJI: "1"