NginxPulse LogoNginxPulse Docs

Quick Start (EN)

Quick Start (EN)

This is the shortest path to a working setup.

docker run -d --name nginxpulse \
  -p 8088:8088 -p 8089:8089 \
  -v /path/to/logs/:/share/logs:ro \
  -v /path/to/nginxpulse_data:/app/var/nginxpulse_data \
  -v /path/to/pgdata:/app/var/pgdata \
  -v /path/to/configs:/app/configs \
  -v /etc/localtime:/etc/localtime:ro \
  magiccoders/nginxpulse:latest

If logs are mounted but data is empty, it is usually a permission issue. See "Docker Deployment Permissions" in the Deployment guide and align PUID/PGID with the host UID/GID.

Open:

  • UI: http://localhost:8088
  • API: http://localhost:8089

Mount path explanation

  • /path/to/logs: Host directory that stores your log files.
  • /path/to/nginxpulse_data: Persistent runtime data generated by the container.
  • /path/to/pgdata: PostgreSQL data directory (not required when using an external database).
  • /path/to/configs: Persistent configuration generated via the UI.

Option B: Single binary (no Docker)

Prerequisite: PostgreSQL must be installed and running.

  1. Update configs/nginxpulse_config.json:
"database": {
  "driver": "postgres",
  "dsn": "postgres://nginxpulse:nginxpulse@127.0.0.1:5432/nginxpulse?sslmode=disable"
}
  1. Start the server (example):
./nginxpulse

Required notice

Version > 1.5.3 requires PostgreSQL (SQLite is removed).

Timezone

Logs are parsed in system timezone. Ensure host timezone is correct.