If your shield VPS was already running HAProxy before you installed the Lumos Agent, the agent detects the existing configuration and makes it available for import through the dashboard. This allows you to bring your existing sites under Lumos management without any manual reconfiguration -- no need to re-enter domains, origins, or ports one by one.
This feature is especially useful when migrating an existing HAProxy setup to Lumos Gate. Instead of starting from scratch, you can review what the agent found and selectively import the sites you want to manage.
During installation, the agent backs up the existing HAProxy configuration file (/etc/haproxy/haproxy.cfg) to /etc/haproxy/haproxy.cfg.lumos-backup. This backup is sent to the Lumos WebSocket server, which stores it in the database alongside the server record. When you open the Detected Sites tab in the dashboard, the configuration is parsed on the fly to extract domain-to-origin mappings.
The parser understands two common HAProxy configuration patterns:
HTTP mode (Layer 7) -- Sites configured with ACL-based routing using hdr(host) for domain matching, paired with use_backend directives that map to backend blocks containing server directives. This is the most common HAProxy setup for web traffic.
TCP passthrough (Layer 4) -- Sites using SNI-based routing with req_ssl_sni for pass-through SSL/TLS proxying. In this mode, the proxy forwards encrypted traffic without terminating SSL, which is used when you want the origin to handle its own certificates.
"Already Managed" badge if the domain already exists in Lumos, or a checkbox for import
Note: The detected sites list is generated from the HAProxy configuration backup taken at installation time. If you modified HAProxy manually after installing the agent, those changes will not be reflected here. The detection is a one-time snapshot, not a live sync.
Creates a domain record with the detected domain name, origin IP(s), and port(s)
Assigns the domain to the current shield server
Verifies the import against your plan limits (the check runs inside a database transaction to prevent race conditions)
Pushes the new configuration to the agent via the real-time config pipeline (Dashboard -> WebSocket Server -> Agent)
The agent regenerates the HAProxy configuration with the imported domains included
HAProxy reloads with the updated configuration
The import processes domains sequentially. Each domain is validated individually, and the results summary shows which domains succeeded and which failed.
Important: After importing, you still need to update your DNS records if they do not already point to the shield VPS. The import only creates the domain configuration inside Lumos -- it does not modify DNS.
All plans include unlimited domains, so there is no domain cap during import. However, the imported sites are assigned to the current shield server, and your plan limits the total number of servers you can have. If you need to assign imported sites to multiple servers, you will need the Pro plan or higher for multi-server support.
If a detected domain is already managed by Lumos (you added it through the Domains page previously or imported it in an earlier batch), it is marked with an Already Managed badge and its checkbox is disabled. This comparison is case-insensitive, so Example.com and example.com are treated as the same domain. This prevents duplicate domain entries in your account.
The parser handles standard HAProxy configuration patterns but may not detect all sites in complex or non-standard configurations. Sites may be missed if they use:
Map files for domain routing (use_backend %[req.hdr(host),lower,map(/etc/haproxy/maps/domains.map)]) instead of inline ACL + use_backend pairs
Lua-based routing logic where domain matching is handled in Lua scripts rather than ACL directives
Non-standard ACL patterns that do not match the common hdr(host) -i or req_ssl_sni -i formats
Listen blocks with embedded routing (the parser focuses on frontend + backend block pairs)
Configurations generated by other management tools (e.g., Certbot, Ansible templates) with unusual formatting or comments that break pattern matching
If a site is not detected automatically, you can add it manually through Dashboard -> Domains -> Add Domain. See the Domain Management guide for instructions. You will need the domain name, origin IP, and origin port -- all of which you can find in your original HAProxy configuration file.
Tip: You can view the original HAProxy backup on the server at /etc/haproxy/haproxy.cfg.lumos-backup to manually extract any missed configurations:
The original HAProxy backup is preserved at /etc/haproxy/haproxy.cfg.lumos-backup on the VPS for as long as the agent is installed. This backup serves two purposes:
Detected sites source -- The dashboard reads from this stored backup to populate the Detected Sites tab
Rollback safety net -- If you ever need to revert to the pre-Lumos configuration, the uninstall process will validate this backup with haproxy -c -f before restoring it, ensuring you do not restore a broken configuration
Warning: Do not delete or modify the backup file at /etc/haproxy/haproxy.cfg.lumos-backup. It is needed for both the detected sites feature and for safe uninstallation.
If your account is frozen due to insufficient balance, you cannot import detected sites. The import endpoint requires an active account. Deposit credits to unfreeze your account before importing. However, you can still view detected sites on a frozen account -- only the import action is blocked.