-
Notifications
You must be signed in to change notification settings - Fork 184
Deployment EN
likaia edited this page Jan 24, 2026
·
6 revisions
- Version > 1.5.3 requires PostgreSQL. SQLite is deprecated.
The image includes PostgreSQL. Recommended for most users.
One-click start (minimal config, first launch opens Setup Wizard):
docker run -d --name nginxpulse \
-p 8088:8088 \
-v ./docker_local/logs:/share/logs:ro \
-v ./docker_local/nginxpulse_data:/app/var/nginxpulse_data \
-v ./docker_local/pgdata:/app/var/pgdata \
-v /etc/localtime:/etc/localtime:ro \
magiccoders/nginxpulse:latestExample:
docker run -d --name nginxpulse \
-p 8088:8088 -p 8089:8089 \
-e WEBSITES='[{"name":"Main","logPath":"/share/log/nginx/access.log","domains":["example.com"]}]' \
-v /path/to/nginx/access.log:/share/log/nginx/access.log:ro \
-v /path/to/nginxpulse_data:/app/var/nginxpulse_data \
-v /path/to/pgdata:/app/var/pgdata \
-v /etc/localtime:/etc/localtime:ro \
nginxpulse:latestUseful env vars (built-in PG):
-
POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB -
POSTGRES_PORT(default 5432) -
POSTGRES_LISTEN(default 127.0.0.1) -
POSTGRES_CONNECT_HOST(default 127.0.0.1) -
DATA_DIR(default/app/var/nginxpulse_data) -
PGDATA(default/app/var/pgdata)
If you want to use an external PG, set DB_DSN and the built-in PG will be bypassed.
In this case the built-in PG will not start, POSTGRES_* is ignored, and you can drop the /app/var/pgdata mount.
A docker-compose.yml is provided in the repo. Update:
-
WEBSITESand log volume -
nginxpulse_datavolume; mountpgdataonly when using built-in PG -
/etc/localtimemount for timezone
One-click start (minimal config, first launch opens Setup Wizard):
docker compose -f docker-compose-simple.yml up -dYou must install PostgreSQL yourself.
Suggested steps:
- Install PostgreSQL and create DB/user.
- Set
database.dsninconfigs/nginxpulse_config.json. - Build & run (e.g.
scripts/build_single.sh).
Example DSN:
"database": {
"driver": "postgres",
"dsn": "postgres://nginxpulse:nginxpulse@127.0.0.1:5432/nginxpulse?sslmode=disable",
"maxOpenConns": 10,
"maxIdleConns": 5,
"connMaxLifetime": "30m"
}Use scripts/dev_local.sh:
- It starts a local docker postgres container by default.
- Data is stored in docker volume
nginxpulse_pgdata. - To reset:
docker volume rm nginxpulse_pgdata.
- 8088: Web UI
- 8089: API
The project uses system timezone for parsing.
- Docker: mount
/etc/localtime:/etc/localtime:ro - Bare metal: set system timezone and restart
- Home
- 快速开始
- 部署方式
- SQLite -> PostgreSQL 迁移
- 配置说明
- 完整字段参考
- 日志来源配置
- 支持的日志格式
- Agent 采集
- 日志解析机制
- IP 归属地解析
- 数据库结构
- 常见问题
- Home (EN)
- Quick Start (EN)
- Deployment (EN)
- Migration (EN)
- Configuration (EN)
- Config Reference (EN)
- Log Sources (EN)
- Supported Log Formats (EN)
- Agent Collection (EN)
- Log Parsing (EN)
- IP Geo (EN)
- Database Schema (EN)
- FAQ (EN)