xyOps is configured primarily through JSON files with support for UI-based overrides and environment variable substitution.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/pixlcore/xyops/llms.txt
Use this file to discover all available pages before exploring further.
Configuration Files
xyOps uses a two-layer configuration system:Base Configuration
Primary configuration file:This file contains all default settings and is typically version-controlled.
The override system allows you to modify settings via the web UI without editing the base config file. Changes persist across upgrades.
Global Settings
Application URLs and Paths
Base URL of your xyOps instance. Used to build fully-qualified links in emails, alerts, tickets, and web hooks.
Shared secret for signing tokens, authenticating multi-conductor messages, and encrypting stored secrets.
Scratch directory for temporary files (plugin bundles, staging uploads). Relative to xyOps base directory.
Path to the main process PID file for start/stop tooling.
Logging Configuration
Verbosity level for the logger (1 = quiet, 10 = very verbose).
Base directory for server logs and job logs. Example:
logs/Error.log, logs/jobs/ID.logFilename pattern for core logger. Supports column placeholders like
[component].Controls which log columns are written and their order.
Log Archive Configuration
Log Archive Configuration
Timing and Scheduling
Internal timer precision in milliseconds. Lower values = more precise execution but higher idle CPU.
Daily maintenance schedule (HH:MM format, server local time) for DB trimming and log archival.
Default HTTP cache TTL (seconds) for API responses and static resources.
WebSocket Settings
Interval for sending WebSocket pings to clients/workers (seconds).
Maximum time without pong before socket timeout (seconds).
Job Configuration
Global rate limit on job starts per minute. E-brake mechanism to prevent runaway workflows.
Seconds without updates before running job is considered dead and aborted.
Environment variables merged into every job process. Can be overridden per-job.
Global actions executed when conditions are met. Organized by job type:
Email Configuration
Sender email address for all outbound messages. Must be valid for most SMTP servers.
Email transport configuration passed to Nodemailer.
SMTP Examples
SMTP Examples
Basic SMTP:Authenticated SMTP (Fastmail):Local Sendmail:
Email body format:
html for styled emails, text for plain text.Logo handling:
link (URL to logo), inline (attachment), or none.Daily email cap across the app. 0 = no limit. Excess sends rejected with error.
Alert Configuration
Seconds before stale alerts are cleared (when server disconnects with active alerts).
Actions automatically applied to all alerts:
Display Formatting
Regex removed from hostname endings for display (strips domain suffix).
Regex removed from IP addresses (strips IPv6 IPv4-mapped prefix).
Limits which filenames are scanned by file search APIs.
Storage Backend
xyOps uses pixl-server-storage for data persistence.Storage engine selection. Options:
Hybrid, Filesystem, SQLite, S3, Redis.See Storage Engines.Hybrid Engine Configuration
Hybrid Engine Configuration
Combines multiple backends for optimal performance:Common patterns:
- SQLite for JSON + Filesystem for binaries (default)
- Redis for JSON + S3 for binaries (multi-conductor)
SQLite Configuration
SQLite Configuration
S3 Configuration
S3 Configuration
Storage Cache Settings
Enable in-memory caching for storage operations.
Maximum cache size in bytes (~100 MB default).
Maximum number of cached items.
Web Server Configuration
xyOps uses pixl-server-web for HTTP/HTTPS.HTTP listener port.
Base directory for static assets and web UI.
Maximum upload size in bytes (1 GB default).
HTTPS/TLS Configuration
Enable HTTPS support.
HTTPS listener port.
TLS certificate file path.
TLS private key file path.
Force HTTP to redirect to HTTPS.
Security Settings
Client IPs/CIDRs explicitly allowed to access the webserver.
Client IPs/CIDRs explicitly denied.
Maximum concurrent socket connections.
Maximum concurrent requests.
Database Maintenance
Configure retention limits to prevent unbounded growth:Environment Variable Overrides
Many configuration options can be overridden via environment variables:XYOPS_ and use underscores for nested paths.