ppanel-server/doc/config.md
2025-09-27 10:17:16 +08:00

4.3 KiB

Configuration File Instructions

Configuration File Path

The default configuration file path is ./etc/ppanel.yaml. You can specify a custom path using the --config startup parameter.

Configuration File Format

The configuration file uses the YAML format, supports comments, and should be named xxx.yaml.

# Sample Configuration File
Host:               # Service listening address, default: 0.0.0.0
Port:               # Service listening port, default: 8080
Debug:              # Enable debug mode; disables backend logging when enabled, default: false
JwtAuth:            # JWT authentication settings
  AccessSecret:     # Access token secret, default: randomly generated
  AccessExpire:     # Access token expiration time in seconds, default: 604800
Logger:             # Logging configuration
  FilePath:         # Log file path, default: ./ppanel.log
  MaxSize:          # Maximum log file size in MB, default: 50
  MaxBackup:        # Maximum number of log file backups, default: 3
  MaxAge:           # Maximum log file retention time in days, default: 30
  Compress:         # Whether to compress log files, default: true
  Level:            # Logging level, default: info; options: debug, info, warn, error, panic, fatal
MySQL:
  Addr:             # MySQL address, required
  Username:         # MySQL username, required
  Password:         # MySQL password, required
  Dbname:           # MySQL database name, required
  Config:           # MySQL configuration, default: charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai
  MaxIdleConns:     # Maximum idle connections, default: 10
  MaxOpenConns:     # Maximum open connections, default: 100
  LogMode:          # Log level, default: info; options: debug, error, warn, info
  LogZap:           # Whether to use zap for SQL logging, default: true
  SlowThreshold:    # Slow query threshold in milliseconds, default: 1000
Redis:
  Host:             # Redis address, default: localhost:6379
  Pass:             # Redis password, default: ""
  DB:               # Redis database, default: 0

Administer:
  Email:            # Admin login email, default: admin@ppanel.dev
  Password:         # Admin login password, default: password

3.Configuration Descriptions

  • Host: Service listening address, default: 0.0.0.0

  • Port: Service listening port, default: 8080

  • Debug: Enable debug mode; disables backend logging when enabled, default: false

  • JwtAuth: JWT authentication settings

    • AccessSecret: Access token secret, default: randomly generated

    • AccessExpire: Access token expiration time in seconds, default: 604800

    • Logger: Logging configuration

    • FilePath: Log file path, default: ./ppanel.log

    • MaxSize: Maximum log file size in MB, default: 50

    • MaxBackup: Maximum number of log file backups, default: 3

    • MaxAge: Maximum log file retention time in days, default: 30

    • Compress: Whether to compress log files, default: true

    • Level: Logging level, default: info; options: debug, info, warn, error, panic, fatal

  • MySQL: MySQL configuration

    • Addr: MySQL address, required

    • Username: MySQL username, required

    • Password: MySQL password, required

    • Dbname: MySQL database name, required

    • Config: MySQL configuration, default: charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai

    • MaxIdleConns: Maximum idle connections, default: 10

    • MaxOpenConns: Maximum open connections, default: 100

    • LogMode: Log level, default: info; options: debug, error, warn, info

    • LogZap: Whether to use zap for SQL logging, default: true

    • SlowThreshold: Slow query threshold in milliseconds, default: 1000

  • Redis: Redis configuration

    • Host: Redis address, default: localhost:6379

    • Pass: Redis password, default: ""

    • DB: Redis database, default: 0

  • Administer: Admin login configuration

    • Email: Admin login email, default: admin@ppanel.dev

    • Password: Admin login password, default: password

4. Environment Variables

Supported environment variables are as follows:

Environment Variable Configuration Example
PPANEL_DB MySQL config root:password@tcp(localhost:3306)/vpnboard
PPANEL_REDIS Redis config redis://localhost:6379"