Global Settings

Global settings define ProxSave’s core behavior and apply across backup, install, upgrade, and restore workflows. These are configured in configs/backup.env.

Configuration file path

Default config path is configs/backup.env. When you run proxsave, relative config paths are resolved relative to the installation base directory (next to the binary), so cron does not need cd /opt/proxsave.

Override the config location:

proxsave --config /etc/proxsave/production.env

Master switch

BACKUP_ENABLED=true

Set BACKUP_ENABLED=false to disable backup execution (useful during maintenance while keeping the configuration in place).

Core paths

# Primary backup storage (required)
BACKUP_PATH=/opt/proxsave/backup

# Log directory
LOG_PATH=/opt/proxsave/log

# Lock directory (prevents concurrent runs)
LOCK_PATH=/opt/proxsave/lock

These directories are created automatically with secure permissions (typically 700).

Output and logging

# Colored terminal output
USE_COLOR=true
COLORIZE_STEP_LOGS=true

# Coarse verbosity mapping
DEBUG_LEVEL=standard   # standard | advanced | extreme

Notes:

  • DEBUG_LEVEL=standard maps to normal logging; advanced/extreme map to debug-level logging.
  • CLI log level overrides the config:
proxsave --log-level debug

Dry-run

Dry-run validates configuration and simulates the workflow, but does not create archives, upload/copy artifacts, or send notifications.

DRY_RUN=false

CLI equivalent:

proxsave --dry-run

Security and preflight checks

SECURITY_CHECK_ENABLED=true
AUTO_FIX_PERMISSIONS=true
AUTO_UPDATE_HASHES=true
DISABLE_NETWORK_PREFLIGHT=false
CONTINUE_ON_SECURITY_ISSUES=false

What to expect:

  • SECURITY_CHECK_ENABLED=true runs preflight validation (directories, disk space, lock file, and permission checks).
  • AUTO_FIX_PERMISSIONS=true attempts to normalize permissions/ownership for ProxSave directories and files.
  • DISABLE_NETWORK_PREFLIGHT=true skips connectivity checks before using features that require outbound access (Telegram, email relay, webhooks, cloud storage). Use only for offline testing.
  • CONTINUE_ON_SECURITY_ISSUES=true allows continuing despite security warnings (not recommended on production systems).

Disk space thresholds

ProxSave enforces minimum free-space thresholds (in GB). Primary storage is critical; secondary/cloud are treated as non-blocking warnings when applicable.

MIN_DISK_SPACE_PRIMARY_GB=1
MIN_DISK_SPACE_SECONDARY_GB=1
MIN_DISK_SPACE_CLOUD_GB=1

If a value is missing or invalid (e.g. <= 0), ProxSave falls back to a safe default internally.

Lock file

ProxSave uses a lock file to prevent concurrent runs:

${LOCK_PATH}/.backup.lock

If a lock is older than the internal max age (default: 2 hours), ProxSave treats it as stale and removes it automatically. If you are certain no run is active, you can remove it manually:

sudo rm -f /opt/proxsave/lock/.backup.lock

Environment variable overrides

ProxSave supports overriding many (but not necessarily all) backup.env keys via environment variables. Environment values override file values for the supported keys.

Examples:

BACKUP_PATH=/custom/path proxsave
DRY_RUN=true proxsave