Domains
All​
Lists all domain names currently hosted on the server:
opencli domains-all [--docroot] [--php_version] [--json]
Example output
# opencli domains-all
example.com
example.net
blog.example.com
# opencli domains-all --docroot --php_version
example.com /var/www/html/example.com 8.3
example.net /var/www/html/example.net 8.1
blog.example.com /var/www/html/blog.example.com 8.3
# opencli domains-all --json
{"data":{"example.com":{"document_root":"/var/www/html/example.com","php":{"php_version_id":"php83","version":"8.3","ini_path":"/home/stefan/php.ini/8.3.ini","is_native":true,"handler":"php-fpm"},"owner":"stefan"},...}}
--docroot- also show the document root for each domain.--php_version- also show the PHP version for each domain.--json- display output as JSON.
User​
Lists all domain names currently owned by a specific user.
opencli domains-user <USERNAME> [--docroot|--php_version]
Example output
# opencli domains-user stefan
example.com
blog.example.com
# opencli domains-user stefan --docroot
example.com /var/www/html/example.com
blog.example.com /var/www/html/blog.example.com
Add​
Add a domain name for a user. Add --debug to see every step (checks, DNS zone, vhost, Caddy):
opencli domains-add <DOMAIN_NAME> <USERNAME> [--docroot DOCUMENT_ROOT] [--php_version N.N] [--skip_caddy] [--skip_vhost] [--skip_containers] [--skip_dns] [--skip-sentinel] [--hs_ed25519_public_key KEY --hs_ed25519_secret_key KEY] [--debug]
Example output
# opencli domains-add example.com stefan
Domain example.com added successfully
Custom Docroot​
To add a domain name with custom docroot:
opencli domains-add <DOMAIN_NAME> <USERNAME> --docroot DOCUMENT_ROOT
Example output
# opencli domains-add example.com stefan --docroot /var/www/html/example.com/public
Domain example.com added successfully
Custom PHP version​
To add a domain name with custom PHP version:
opencli domains-add <DOMAIN_NAME> <USERNAME> --php_version N.N
Example output
# opencli domains-add example.com stefan --php_version 8.3
Domain example.com added successfully
Skip Flags​
Warning: These flags are intended primarily for automation and debugging purposes and should generally not be used manually in the terminal. Most skip flags are used by automation scripts when adding multiple domains at once, allowing services to be started only after all domains have been provisioned. The
--skip_dns,--skip_vhost, and--skip_caddyoptions are also useful for troubleshooting and retry operations.
-
Skip DNS – Add a domain without creating a DNS zone:
opencli domains-add <DOMAIN_NAME> <USERNAME> --skip_dns -
Skip Vhosts – Add a domain without creating virtual host configurations or starting the user's PHP and web server containers:
opencli domains-add <DOMAIN_NAME> <USERNAME> --skip_vhost -
Skip Containers – Add a domain without starting the user's PHP and web server containers:
opencli domains-add <DOMAIN_NAME> <USERNAME> --skip_containers -
Skip Caddy – Add a domain without creating a Caddy virtual host configuration:
opencli domains-add <DOMAIN_NAME> <USERNAME> --skip_caddy -
Skip Sentinel – Add a domain without sending the domains_add notification:
opencli domains-add <DOMAIN_NAME> <USERNAME> --skip-sentinel
The output is the same with any of the skip flags:
Example output
# opencli domains-add example.com stefan --skip_dns --skip_containers
Domain example.com added successfully
Note: These options are primarily intended for bulk provisioning workflows (like cpanel account importer or user transfer) and advanced troubleshooting scenarios.
Onion (Tor) domains​
When adding a .onion domain, you can pass an existing hidden service key pair instead of generating a new one:
opencli domains-add <ONION_DOMAIN> <USERNAME> --hs_ed25519_public_key <KEY> --hs_ed25519_secret_key <KEY>
Example output
# opencli domains-add abcdefghijklmnop.onion stefan --hs_ed25519_public_key <KEY> --hs_ed25519_secret_key <KEY>
Domain abcdefghijklmnop.onion added successfully
Suspend​
Suspend a domain name:
opencli domains-suspend <DOMAIN_NAME>
Example output
# opencli domains-suspend example.com
Domain suspended successfully.
Add a reason for suspending the domain:
opencli domains-suspend <DOMAIN_NAME> --comment="<REASON>"
Example output
# opencli domains-suspend example.com --comment="Unpaid invoice"
Domain suspended successfully.
Unsuspend​
Unsuspend a domain name:
opencli domains-unsuspend <DOMAIN_NAME>
Example output
# opencli domains-unsuspend example.com
Domain unsuspended successfully.
Test​
Test why a website is slow: times the home page through every layer, checks resource limits and settings, and shows the biggest issue with a fix. Run it as root on the server.
opencli domains-test <DOMAIN_NAME>[/SUBFOLDER] [RUNS] [--load <N|auto>]
It measures:
- Public DNS: the domain's A record from public DNS, and the page over that IP, as visitors get it.
- Caddy + WAF, Varnish, webserver, php-fpm: the page from each layer on the server itself, skipping the ones in front of it.
- PHP, no cache at all: the page rendered in a separate PHP process with OPcache and Redis off, without affecting visitors.
- Test files: a temporary
.txt(no PHP) and.php(no database) file in the docroot, removed when the test ends. - Database (WordPress sites): connection time, a simple query, autoloaded options size, active plugins and transients.
- Containers: CPU throttling during the test, memory usage and out-of-memory kills against each container's limits, and PHP-FPM
pm.max_childrenwarnings. - Server and settings: load, memory and disk, Varnish, OPcache, Redis object cache,
WP_DEBUG/SAVEQUERIESand WAF response body inspection.
RUNS is the number of measured requests per test, default 5, after one warm-up request. Local tests exclude connection and TLS setup so the layers compare fairly.
Example output
# opencli domains-test example.com
Site example.com (user stefan, apache, php-fpm-8.3, mariadb)
Docroot /var/www/html/example.com
Varnish container: running, domain: on
WAF yes, response body inspection: on
Runs 1 warm-up + 5 measured per test, median time to first byte (local tests without connect/TLS setup)
Home page (/) through each layer
Public DNS -> 203.0.113.10 (https) 236.4 ms HTTP 200 what visitors get, incl. TLS handshake
Caddy + WAF (127.0.0.1, https) 224.1 ms HTTP 200 skips DNS and network
Varnish (127.0.0.1:32785) 2.2 ms HTTP 200 page cache, skips caddy/WAF
apache (127.0.0.1:32786) 102.2 ms HTTP 200 skips caddy/WAF and varnish
php-fpm (php-fpm-8.3:9000) 92.4 ms HTTP 200 FastCGI directly, skips the webserver
PHP, no cache at all 429.2 ms HTTP 200 separate process, OPcache off, Redis off
Test files (removed afterwards)
.txt through Caddy + WAF 3.2 ms HTTP 200 no PHP at all
.txt from apache 0.5 ms HTTP 200 no PHP, no caddy
.php (no database) through Caddy 3.4 ms HTTP 200 PHP without connecting to the database
.php (no database) from apache 1.9 ms HTTP 200 PHP without database, no caddy
Database
connect to mariadb 1.2 ms
SELECT 1 0.14 ms
autoloaded options 0.43 ms 41 KB in 119 rows
active plugins 1
transients in wp_options 3
Containers
container cpu throttled memory notes
apache 0.5 0 ms 17/512 MB (3%)
php-fpm-8.3 1.0 0 ms 178/1024 MB (17%)
mariadb 1.0 0 ms 186/1024 MB (18%)
varnish 0.25 0 ms 136/512 MB (26%)
redis 0.1 0 ms 32/102 MB (31%)
Server
load (1 min) / CPU cores 0.41 / 4
memory available 7334 of 8937 MB
disk used (/) 27%
Settings
page cache (Varnish) yes
OPcache (PHP 8.3 / this site) on / on
Redis object cache yes
======================================================================
Diagnosis for example.com
======================================================================
Biggest issue: Caddy + WAF add 222 ms to every page. The WAF buffers and inspects every HTML response (SecResponseBodyAccess On in /etc/openpanel/caddy/coraza_rules.conf), which is the usual cause.
Impact: about 222 ms per request
Fix: Turn off response body inspection for all domains, request protection stays on:
sed -i 's/^SecResponseBodyAccess On/SecResponseBodyAccess Off/' /etc/openpanel/caddy/coraza_rules.conf && podman restart caddy
(a caddy reload is not enough, the WAF only rereads that file on restart)
Test a site installed in a subfolder:
opencli domains-test example.com/blog
Example output
# opencli domains-test example.com/blog
Site example.com/blog (user stefan, apache, php-fpm-8.3, mariadb)
Docroot /var/www/html/example.com/blog
...
======================================================================
Diagnosis for example.com/blog
======================================================================
No problems found. Visitors get the page in 5.9 ms.
Domain that is not on the server:
opencli domains-test example.org
Example output
# opencli domains-test example.org
Domain example.org is not hosted on this server.
Load test​
Add --load to stress the site instead of timing it, and find out how many visitors it can handle and which limit stops it:
opencli domains-test example.com --load auto # double the concurrent connections until the site breaks
opencli domains-test example.com --load 100 # 100 concurrent connections
The load is sent from the server itself straight to Varnish (when the page cache is on for the domain) or to the webserver, so Caddy, the WAF and DNS are skipped and their limits don't count. Each step sends requests for about 5 seconds, and the whole test stops after 60 seconds, showing how much it completed in that time.
--load auto stops when more than 5% of requests fail, or when response times collapse (p95 over 10x the first step, and at least 3 seconds). At the end it shows:
- Handled: the most concurrent connections that were still answered without errors, and the requests per second at that point.
- Peak and Saturated: the highest requests per second, and from how many connections on adding more only made visitors wait longer.
- Broke at: where and why it failed.
- Recovery: how long the site kept struggling after the test, while requests queued during the test were still being processed.
- Limits reached: container CPU throttling, memory and out-of-memory kills, process limits, PHP-FPM
pm.max_children, nginx/OpenRestyworker_connections, ApacheMaxRequestWorkersand MySQL/MariaDBmax_connections, each with the setting to raise.
A load test really overloads the site, visitors will get slow responses or errors while it runs and for a short while after it. Run it outside peak hours.
Example output
# opencli domains-test sock3.test.rs/wpb --load auto
Load test sock3.test.rs/wpb (user sock3nginx, nginx, php-fpm-8.5, mariadb)
Target nginx (127.0.0.1:32822), local so caddy, the WAF and DNS are skipped
Mode auto, doubling concurrent connections until errors or response times collapse
conns requests errors req/s p50 ms p95 ms p99 ms throttled
1 20 0.0% 8.6 113 137 137
2 43 0.0% 11.6 178 196 196 php-fpm-8.5
4 58 0.0% 10.8 387 426 465 php-fpm-8.5
8 54 0.0% 10.4 753 1115 1196 php-fpm-8.5
16 64 0.0% 9.5 1372 2598 3012 php-fpm-8.5
32 128 0.0% 9.7 3023 4216 4399 php-fpm-8.5
======================================================================
Load test result for sock3.test.rs/wpb
======================================================================
Handled: 16 concurrent connections at 9.5 req/s (p95 2598 ms, under 5% errors)
Peak: 11.6 req/s at 2 concurrent connections
Saturated: from 4 connections on throughput stopped growing, more connections only queue up
Broke at: 32 concurrent connections, response times collapsed, p95 went from 137 ms to 4216 ms
Limits reached:
1. php-fpm-8.5 hit its CPU limit (1.0 CPU) and was paused for 66010 ms.
Fix: Raise PHP_FPM_8_5_CPU in /home/sock3nginx/.env (now 1.0) and recreate the container, or raise the CPU in the hosting plan.
2. php-fpm-8.5 ran out of PHP workers (pm.max_children = 20), requests queued.
Fix: pm.max_children is tuned from the container memory, raise PHP_FPM_8_5_RAM in /home/sock3nginx/.env and recreate php-fpm-8.5, or turn on the page cache so fewer requests reach PHP.
Delete​
Delete a domain name:
opencli domains-delete <DOMAIN_NAME> [--debug]
Example output
# opencli domains-delete example.com
Domain example.com deleted successfully
SSL​
Check SSL for domain, add custom certificate, view files.
opencli domains-ssl <DOMAIN_NAME> [status|info|logs|auto|custom] [path/to/fullchain.pem path/to/key.pem]
Examples​
Display command examples for a specific domain:
opencli domains-ssl <DOMAIN_NAME>
Example output
# opencli domains-ssl example.com
Usage examples for domain example.com:
- Check current SSL status for domain (AutoSSL, CustomSSL or No SSL):
opencli domains-ssl example.com status
- Display fullchain and key files for the domain:
opencli domains-ssl example.com info
- Set AutoSSL for the domain (default):
opencli domains-ssl example.com auto
- Add custom certificate for the domain:
opencli domains-ssl example.com custom /var/www/html/fullchain.pem /var/www/html/key.pem
- View SSL-related lines for the domain from Caddy logs:
opencli domains-ssl example.com logs
Status​
Display current SSL status for a domain:
opencli domains-ssl <DOMAIN_NAME> status
Example output
# opencli domains-ssl example.com status
AutoSSL
Info​
View ceritificate files a domain:
opencli domains-ssl <DOMAIN_NAME> info
Example output
# opencli domains-ssl example.com info
-----BEGIN CERTIFICATE-----
MIIFBjCCA+6gAwIBAgISBL...
-----END CERTIFICATE-----
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIH...
-----END EC PRIVATE KEY-----
Logs​
View caddy SSL-related logs for a domain:
opencli domains-ssl <DOMAIN_NAME> logs
Example output
# opencli domains-ssl example.com logs
Showing SSL-related log lines for example.com
-------------------------------------------------------
{"level":"info","ts":1727170200.12,"logger":"tls.obtain","msg":"obtaining certificate","identifier":"example.com"}
{"level":"info","ts":1727170204.87,"logger":"tls.obtain","msg":"certificate obtained successfully","identifier":"example.com"}
Show a specific number of lines, or follow the log live:
opencli domains-ssl <DOMAIN_NAME> logs 1000
opencli domains-ssl <DOMAIN_NAME> logs -f
Custom​
Setup a custom SSL for a domain:
opencli domains-ssl <DOMAIN_NAME> custom <CERT_PATH> <KEY_PATH>
Example output
# opencli domains-ssl example.com custom /var/www/html/fullchain.pem /var/www/html/key.pem
Adding custom certificate..
Updated example.com to use custom SSL.
Auto​
Switch to autoSSL for a domain (default):
opencli domains-ssl <DOMAIN_NAME> auto
Example output
# opencli domains-ssl example.com auto
Updated example.com to use AutoSSL.
Email users about SSL certificates that need attention:
opencli domains-ssl --notify
Example output
# opencli domains-ssl --notify
stefan: notified about 2 certificate(s).
It checks every domain that points to this server and emails its owner, if they have SSL certificate problem turned on, when:
- an AutoSSL certificate has 7 days or less left, which means renewal is failing, since certificates are renewed about 30 days before they expire. The email includes the last error from the Caddy logs.
- any certificate, AutoSSL or custom, has 1 day or less left.
Each alert is sent once per certificate. It runs daily from cron.
Docroot​
View and change docroot for a domain.
opencli domains-docroot <DOMAIN_NAME> [update </var/www/html/>] --debug
View​
To view the current docroot for a domain:
opencli domains-docroot <DOMAIN_NAME>
Example output
# opencli domains-docroot example.com
/var/www/html/example.com
Update​
To update a docroot for a domain:
opencli domains-docroot <DOMAIN_NAME> update <docroot> [--debug]
Example output
# opencli domains-docroot example.com update /var/www/html/example.com/public
Docroot updated to: /var/www/html/example.com/public for domain: example.com
DNS​
Manage DNS service and domain zones.
Reconfig​
To load new DNS zones into the Bind server:
opencli domains-dns reconfig
Example output
# opencli domains-dns reconfig
Loading new DNS zones..
`
Check​
To check and validate a DNS zone for a domain:
opencli domains-dns check <DOMAIN_NAME>
Example output
# opencli domains-dns check example.com
Checking DNS zone for domain: example.com
zone example.com/IN: loaded serial 2026092401
OK
Reload​
To reload a DNS zone for a single domain:
opencli domains-dns reload <DOMAIN_NAME>
Example output
# opencli domains-dns reload example.com
Reloading DNS zone for domain: example.com
zone reload queued
To reload all DNS zones, run the command without a domain:
opencli domains-dns reload
Example output
# opencli domains-dns reload
Reloading all DNS zones..
server reload successful
Show​
To display the DNS zone for a single domain:
opencli domains-dns show <DOMAIN_NAME>
Example output
# opencli domains-dns show example.com
DNS zone for domain: example.com - file: /etc/bind/zones/example.com.zone
$TTL 1h
@ IN SOA ns1.openpanel.com. admin.example.com. (
2026092401 ; Serial number
1h ; Refresh interval
15m ; Retry interval
1w ; Expire interval
1h ) ; Minimum TTL
@ IN NS ns1.openpanel.com.
@ IN NS ns2.openpanel.com.
...
example.com. 14400 IN A 203.0.113.10
example.com. 3600 IN MX 0 example.com.
www 14400 IN CNAME example.com.
...
List​
To list all domains with DNS zones on the server:
opencli domains-dns list
Example output
# opencli domains-dns list
Displaying all DNS zones on the server:
/etc/bind/zones/example.com.zone
/etc/bind/zones/example.net.zone
Create​
To create a DNS zone for a domain:
opencli domains-dns create <DOMAIN_NAME>
Example output
# opencli domains-dns create example.com
Creating DNS zone for domain: example.com
No subdomains found for example.com
Delete​
To delete a DNS zone for a domain:
opencli domains-dns delete <DOMAIN_NAME> [-y]
Example output
# opencli domains-dns delete example.com -y
Deleting DNS zone for domain: example.com
Add -y to skip the confirmation prompt.
Default​
To restore the default DNS zone for a domain:
opencli domains-dns default <DOMAIN_NAME> [-y]
Example output
# opencli domains-dns default example.com -y
Deleting DNS zone for domain: example.com and restoring default zone..
Add -y to skip the confirmation prompt.
Count​
To display the total number of DNS zones present on the server:
opencli domains-dns count
Example output
# opencli domains-dns count
Total number of DNS zones on the server: 12
Config​
To check the main Bind configuration file for syntax errors:
opencli domains-dns config
Example output
# opencli domains-dns config
Checking /etc/bind/named.conf configuration:
Start​
To start the DNS server:
opencli domains-dns start
Example output
# opencli domains-dns start
Starting DNS service..
openpanel_dns
Restart​
To perform a soft restart of the Bind9 Docker container:
opencli domains-dns restart
Example output
# opencli domains-dns restart
Restarting DNS service..
openpanel_dns
Hard Restart​
To perform a hard restart by terminating the container and starting it again:
opencli domains-dns hard-restart
Example output
# opencli domains-dns hard-restart
Stopping DNS service..
openpanel_dns
openpanel_dns
Starting DNS service..
openpanel_dns
Stop​
To stop the DNS server:
opencli domains-dns stop
Example output
# opencli domains-dns stop
Stopping DNS service..
openpanel_dns
openpanel_dns
DNSSEC​
Enable DNSSEC for a domain and re-sign after changes the zone.
opencli domains-dnssec <DOMAIN_NAME> [--update | --check]
Enable​
Enable DNSSEC for a domain (generates keys and signs the zone):
opencli domains-dnssec <DOMAIN_NAME>
Example output
# opencli domains-dnssec example.com
example.com. IN DS 24568 7 1 3F2B0C6E4A8D9E1B7C5A2F0D6E8B4A1C9D7E3F5A
example.com. IN DS 24568 7 2 9A1C7E5B3D2F8A6C4E0B9D7F1A3C5E7B9D2F4A6C8E0B1D3F5A7C9E2B4D6F8A0C
Check​
Check if domain has DNSSEC enabled (displays the DS records):
opencli domains-dnssec <DOMAIN_NAME> --check
Example output
# opencli domains-dnssec example.com --check
example.com. IN DS 24568 7 1 3F2B0C6E4A8D9E1B7C5A2F0D6E8B4A1C9D7E3F5A
example.com. IN DS 24568 7 2 9A1C7E5B3D2F8A6C4E0B9D7F1A3C5E7B9D2F4A6C8E0B1D3F5A7C9E2B4D6F8A0C
Update​
Re-sign the zone after DNS changes and reload the DNS service:
opencli domains-dnssec <DOMAIN_NAME> --update
Example output
# opencli domains-dnssec example.com --update
Zone example.com has been re-signed and DNS service reloaded.
HSTS​
Manage HSTS for a domain.
opencli domains-hsts <DOMAIN_NAME> [enable|disable]
Status​
Check HSTS status for a domain:
opencli domains-hsts <DOMAIN_NAME>
Example output
# opencli domains-hsts example.com
Strict-Transport-Security header is NOT set for domain example.com
Enable​
Enable HSTS for a domain:
opencli domains-hsts <DOMAIN_NAME> enable
Example output
# opencli domains-hsts example.com enable
HSTS enabled for example.com
Disable​
Disable HSTS for a domain:
opencli domains-hsts <DOMAIN_NAME> disable
Example output
# opencli domains-hsts example.com disable
HSTS disabled for example.com
Edit​
Edit VirtualHosts file for a domain or enter its docroot.
opencli domains-edit <DOMAIN_NAME> [--ws]
Docroot​
cd into the domain docroot:
opencli domains-edit <DOMAIN_NAME>
Example output
# opencli domains-edit example.com
Directory: /home/stefan/docker-data/volumes/stefan_html_data/_data/example.com
VHost​
Open the VirtualHost file for a domain using nano edit, and upon saving restart user webserver:
opencli domains-edit <DOMAIN_NAME> --ws
Example output
# opencli domains-edit example.com --ws
Opening VirtualHosts file in nano: /home/stefan/docker-data/volumes/stefan_webserver_data/_data/example.com.conf
(nano editor opens; after saving and closing it:)
Restarting nginx webserver to save changes..
Stats​
Parse caddy access logs for users domains and generate static html. Requires the goaccess module to be enabled.
opencli domains-stats [USERNAME] [--debug]
Generate stats for all domains:
opencli domains-stats [--debug]
Example output
# opencli domains-stats
Processed domain example.com for user stefan
Processed domain example.net for user stefan
Skipped empty log file for domain blog.example.com of user stefan
Generate stats for domains owned by a specific user:
opencli domains-stats <USERNAME> [--debug]
Example output
# opencli domains-stats stefan
Processed domain example.com for user stefan
Processed domain example.net for user stefan
Update NS​
Change nameservers for a single or all dns zones.
opencli domains-update_ns <DOMAIN_NAME>|--all
Update the zone file for a specific domain:
opencli domains-update_ns <DOMAIN_NAME>
Example output
# opencli domains-update_ns example.com
Nameservers have been updated and BIND9 zones reloaded.
Update all zone files:
opencli domains-update_ns --all [-y]
Example output
# opencli domains-update_ns --all
You are about to update all zone files. This action cannot be undone.
Proceed? (y/n)
y
Nameservers have been updated and BIND9 zones reloaded.
Varnish​
Check Varnish status for domain, enable/disable Varnish caching.
opencli domains-varnish <DOMAIN_NAME> [on|off] [--short]
Status​
Display Varnish Cache status for domain:
opencli domains-varnish <DOMAIN_NAME>
Example output
# opencli domains-varnish example.com
Varnish is OFF for domain example.com
# opencli domains-varnish example.com --short
off
Enable​
Enable Varnish Cache for a domain :
opencli domains-varnish <DOMAIN_NAME> on [--short]
Example output
# opencli domains-varnish example.com on
Varnish is not running, starting..
Caddy container reloaded.
Disable​
Disable Varnish Cache for a domain:
opencli domains-varnish <DOMAIN_NAME> off [--short]
Example output
# opencli domains-varnish example.com off
Caddy container reloaded.
Whoowns​
Check which username owns a certain domain name.
To check owner for a domain:
opencli domains-whoowns <DOMAIN_NAME>
Example output
# opencli domains-whoowns example.com
Owner of 'example.com': stefan
To check owner and docker context for a domain:
opencli domains-whoowns <DOMAIN_NAME> --context
Example output
# opencli domains-whoowns example.com --context
stefan stefan
To check owner and docroot for a domain:
opencli domains-whoowns <DOMAIN_NAME> --docroot
Example output
# opencli domains-whoowns example.com --docroot
Owner of 'example.com': stefan | docroot: /var/www/html/example.com
Cloudflare​
Restrict access to Cloudflare-only IPs for domains or check the current configuration status.
To check status for a domain:
opencli domains-cloudflare status <DOMAIN_NAME>
# opencli domains-cloudflare status example.com
Cloudflare-only mode for example.com is ENABLED.
To check status for all domains:
opencli domains-cloudflare status --all
# opencli domains-cloudflare status --all
Cloudflare-only status for all domains:
----------------------------------------
example.com: ENABLED
mysite.org: DISABLED
----------------------------------------
Summary: 1 enabled, 1 disabled out of 2 domain(s).
To enable Cloudflare-only access for a single domain:
opencli domains-cloudflare enable <DOMAIN_NAME>
# opencli domains-cloudflare enable example.com
Enabled: /etc/openpanel/caddy/domains/example.com.conf
Reloading Caddy to apply the setting...
SUCCESS: Caddy reloaded successfully.
To enable Cloudflare-only access globally for all (current and new) domains:
opencli domains-cloudflare enable --all [-y]
# opencli domains-cloudflare enable --all -y
Enabled: /etc/openpanel/caddy/domains/example.com.conf
Enabled: /etc/openpanel/caddy/domains/mysite.org.conf
Total domains enabled: 2
Enabled: /etc/openpanel/caddy/templates/domain.conf
Updating list of Cloudflare IP ranges...
Retrieved 15 IPv4 Cloudflare ranges:
...
Retrieved 7 IPv6 Cloudflare ranges:
...
Updated: /etc/openpanel/caddy/templates/cloudflare.only
Reloading Caddy to apply the setting...
SUCCESS: Caddy reloaded successfully.
To disable Cloudflare-only access for a single domain:
opencli domains-cloudflare disable <DOMAIN_NAME>
# opencli domains-cloudflare disable example.com
Disabled: /etc/openpanel/caddy/domains/example.com.conf
Reloading Caddy to apply the setting...
SUCCESS: Caddy reloaded successfully.
To disable Cloudflare-only access globally for all (current and new) domains:
opencli domains-cloudflare disable --all [-y]
# opencli domains-cloudflare disable --all -y
Disabled: /etc/openpanel/caddy/domains/example.com.conf
Disabled: /etc/openpanel/caddy/domains/mysite.org.conf
Total domains disabled: 2
Reloading Caddy to apply the setting...
SUCCESS: Caddy reloaded successfully.
- All
- User
- Add
- Custom Docroot
- Custom PHP version
- Skip Flags
- Onion (Tor) domains
- Suspend
- Unsuspend
- Test
- Load test
- Delete
- SSL
- Examples
- Status
- Info
- Logs
- Custom
- Auto
- Docroot
- View
- Update
- DNS
- Reconfig
- Check
- Reload
- Show
- List
- Create
- Delete
- Default
- Count
- Config
- Start
- Restart
- Hard Restart
- Stop
- DNSSEC
- Enable
- Check
- Update
- HSTS
- Status
- Enable
- Disable
- Edit
- Docroot
- VHost
- Stats
- Update NS
- Varnish
- Status
- Enable
- Disable
- Whoowns
- Cloudflare