CLI commands

Every v-* command of ArcPanel v2.2.3, grouped by area, with its arguments, examples and description, generated from the command headers.

Written for ArcPanel 2.2

The v-* commands in /usr/local/arcpanel/bin do the work of the panel: every page and every API call runs them. Run them as root: in a root shell (sudo -i) they are on the PATH; with plain sudo, give the full path, such as sudo /usr/local/arcpanel/bin/v-list-users. This page lists the 756 commands of ArcPanel v2.2.3, generated from the header of each command.

  • Arguments in [brackets] are optional; the others are required, in the order shown.
  • Commands that list objects take a FORMAT argument: plain, json, shell or csv.
  • A command that fails prints the reason and exits with a code from Exit codes.
  • Some commands are used by the panel itself, such as the queue and the nightly jobs; run them only when a guide says so.

Users and packages

v-acknowledge-user-notification

Update user notification.

v-acknowledge-user-notification USER NOTIFICATION

Example:

v-acknowledge-user-notification

This function updates user notification.

v-add-user

Add system user.

v-add-user USER PASSWORD EMAIL [PACKAGE] [NAME] [LASTNAME]

Example:

v-add-user user 'P4$$w@rD' bgates@aol.com

This function creates new user account.

v-add-user-2fa

Add 2fa to existing user.

v-add-user-2fa USER

Example:

v-add-user-2fa admin

This function creates a new 2fa token for user.

v-add-user-composer

Add composer (php dependency manager) for a user.

v-add-user-composer USER

Example:

v-add-user-composer user [version]

This function adds support for composer (php dependency manager) Homepage: <https://getcomposer.org/>

v-add-user-malware-ignore

Mark a malware finding of a user as not malware.

v-add-user-malware-ignore USER FINDING

Example:

v-add-user-malware-ignore alice 3f2a9c0d1b4e5f60

This function adds the SHA-256 of a finding to the ignore list of the user and drops every open finding with that content. A file with the same content is not reported again; a changed file is scanned as usual.

v-add-user-malware-quarantine

Move a suspicious file of a user to quarantine.

v-add-user-malware-quarantine USER FINDING

Example:

v-add-user-malware-quarantine alice 3f2a9c0d1b4e5f60

This function moves the file of an open finding into the root-only quarantine store data/quarantine/USER/. The file is read and removed as the user, never opened by root in the user's tree. When its content changed since the scan (another SHA-256), nothing is moved and the command answers E_INVALID: scan again first. Prints the quarantine ID.

v-add-user-node-version

Install a Node.js runtime for a user.

v-add-user-node-version USER SPEC

Examples:

v-add-user-node-version alice lts
v-add-user-node-version alice 22
v-add-user-node-version alice 24.3.0

This function installs the newest Node.js release matching SPEC (lts, a major, or X.Y.Z) into ~/.nvm/versions/node of the user. The release is downloaded into the shared cache once, checked against the signature of the Node.js releasers and its checksum, then unpacked by the user. The package decides which majors (NODE_ALLOWED) and how many runtimes (NODE_VERSIONS) are allowed. The first runtime becomes the default.

v-add-user-notification

Add user notification.

v-add-user-notification USER TOPIC NOTICE [TYPE]

This function adds a new user notification to the panel.

v-add-user-npm-package

Install a global npm package for a user.

v-add-user-npm-package USER VERSION SPEC

Examples:

v-add-user-npm-package alice 24.3.0 pm2
v-add-user-npm-package alice 24.3.0 @nestjs/cli@11

This function runs `npm install -g SPEC` as the user with the runtime VERSION. SPEC is a package name, optionally scoped, with an optional version, range or dist-tag; URLs, git, file and path specs are refused. pnpm and yarn are installed this way too.

v-add-user-nvm

Enable Node.js (nvm) for a user.

v-add-user-nvm USER

Example:

v-add-user-nvm alice

This function installs nvm into ~/.nvm of the user and adds the nvm block to ~/.bashrc, so that `node`, `npm` and `nvm use` work in the user's shell. The user's package must have NODE='yes'. Running it again repairs the shell block. Node.js runtimes are added with v-add-user-node-version.

v-add-user-package

Adding user package.

v-add-user-package tmpfile PACKAGE [REWRITE]

This function adds new user package to the system.

v-add-user-port

Allocate a port or range to a user.

v-add-user-port USER PORT|RANGE [PUBLIC_OK] [COMMENT]

Example:

v-add-user-port alice 30100-30109 yes 'API servers'

This function allocates free ports of the server range to a user. The ports must not be reserved or allocated to anyone. PUBLIC_OK (yes or no, default no) lets the user open them to the internet. A user in a reseller's tree cannot take the tree above the reseller's PORTS.

v-add-user-port-pool

Allocate a block of ports to a user.

v-add-user-port-pool USER [SIZE] [PUBLIC_OK]

Example:

v-add-user-port-pool alice 10

This function allocates SIZE ports to a user, by default the ports it is missing to reach the PORTS of its package (for a reseller, its whole tree counts). A reseller's customer gets them from the reseller's free pool, which is topped up from the server range while the reseller's tree has room. Other users get one contiguous block of the server range; PUBLIC_OK (yes or no, default no) lets them open its ports to the internet.

v-add-user-secret

Add a secret to the secret store of a user.

v-add-user-secret USER NAME VALUE_FILE [DESCRIPTION]

Example:

v-add-user-secret alice /shop/db_password /tmp/value 'Shop database'

This function stores the value held in VALUE_FILE as version 1 of the secret NAME (/path/name: one to five segments of letters, digits, _ . -) of USER, encrypted with the user's key. One trailing newline of the file is dropped; the value is 1 byte to 32 KiB without NUL bytes. The value is never printed or logged; apps reference it as {{secret:NAME}}.

v-add-user-sftp-jail

Add user sftp jail.

v-add-user-sftp-jail USER [RESTART]

Example:

v-add-user-sftp-jail admin

This function enables sftp jailed environment

v-add-user-ssh-key

Add ssh key.

v-add-user-ssh-key USER KEY

Example:

v-add-user-ssh-key user 'valid ssh key'

Function check if $user/.ssh/authorized_keys exists and create it. After that it append the new key. Every read and write of the file runs as the user, so a link in ~/.ssh cannot make root write elsewhere.

v-add-user-wp-cli

Add wp-cli for a user.

v-add-user-wp-cli USER

Example:

v-add-user-wp-cli user

This function adds support for wp-cli to the user account

v-allocate-user-port

Assign a port of a user's pool to an app.

v-allocate-user-port USER APP [PROTO] [PORT] [COMMENT]

Examples:

v-allocate-user-port alice node:api.example.com
v-allocate-user-port alice manual tcp 30105 'game server'

This function assigns a free port of the user's pool to an app and prints the port: the given PORT, or the lowest free one. APP is "manual" for a port the user runs something on by hand, or <kind>:<id> for apps of the panel (node:<domain>, docker:<app>). When the pool is empty it is first topped up to the package PORTS; with PORTS unlimited a port of the server range is taken. With PORT_REGISTRY='no' any free port of the server range is taken without pool checks.

v-change-package-tenancy

Change a reseller setting of a package.

v-change-package-tenancy PACKAGE KEY VALUE

Example:

v-change-package-tenancy reseller USERS 25

This function sets USERS (integer or unlimited), RESELLER_PACKAGES (comma list of packages, or *), RESELLER_VISIBLE (yes or no), PORTS (integer or unlimited), NODE (yes or no), NODE_VERSIONS and NODE_APPS (integer or unlimited), NODE_ALLOWED (lts, * or a comma list of majors), DOCKER (yes or no), DOCKER_APPS (integer or unlimited), DOCKER_CPUS (CPUs per app, like 0.5, or unlimited) or DOCKER_MEMORY (memory per app, like 512M, or unlimited) of a package. PORTS, NODE_VERSIONS, NODE_APPS, DOCKER_APPS, DOCKER_CPUS and DOCKER_MEMORY of a reseller's own package cannot be above the reseller's, its NODE and DOCKER cannot be yes when the reseller's are no, and its NODE_ALLOWED allows only what the reseller's allows. PHP_VERSIONS (* or a comma list of catalog versions), PHP_PROFILES (* or a comma list of PHP-FPM profiles) and PHP_DEFAULT_PROFILE (one of the allowed profiles) choose the PHP of the package's web domains: a reseller's own package may only allow what the reseller's package allows, * only when that is *, and the package's BACKEND_TEMPLATE must name an allowed version. APP_PROCESSES (yes or no), APP_PROCESSES_MAX (integer or unlimited), APP_PROCESSES_MEMORY (memory per process, like 512M, or unlimited) and APP_PROCESSES_CPUS (CPUs per process, like 0.5, or unlimited) allow app processes; a reseller's own package cannot go beyond the reseller's.

v-change-user-config-value

Changes user configuration value.

v-change-user-config-value USER KEY VALUE

Example:

v-change-user-config-value admin ROLE admin

Changes key/value for specified user.

v-change-user-contact

Change user contact email.

v-change-user-contact USER EMAIL

Example:

v-change-user-contact admin admin@yahoo.com

This function for changing of e-mail associated with a certain user.

v-change-user-language

Change user language.

v-change-user-language USER LANGUAGE

Example:

v-change-user-language admin en

This function for changing language.

v-change-user-name

Change user full name.

v-change-user-name USER NAME [LAST_NAME]

Example:

v-change-user-name admin John Smith

This function allow to change user's full name.

v-change-user-node-default

Change the default Node.js runtime of a user.

v-change-user-node-default USER VERSION

Example:

v-change-user-node-default alice 24.3.0

This function points the nvm default alias of the user at an installed runtime; new shells (SSH, Web Terminal) use it.

v-change-user-ns

Change user name servers.

v-change-user-ns USER NS1 NS2 [NS3] [NS4] [NS5] [NS6] [NS7] [NS8]

Example:

v-change-user-ns ns1.domain.tld ns2.domain.tld

This function for changing default name servers for specific user.

v-change-user-owner

Change the owner of a user.

v-change-user-owner USER OWNER

Example:

v-change-user-owner alice agency

This function moves a user to another owner: a reseller (owned by the system administrator, resellers do not nest) or ROOT_USER. The user must fit into the new reseller's plan. Administrators and resellers always belong to ROOT_USER.

v-change-user-package

Change user package.

v-change-user-package USER PACKAGE [FORCE]

Example:

v-change-user-package admin yourpackage

This function changes user's hosting package.

v-change-user-password

Change user password.

v-change-user-password USER PASSWORD

Example:

v-change-user-password admin NewPassword123

This function changes user's password and updates RKEY value.

v-change-user-php-cli

Add php version alias to .bash_aliases.

v-change-user-php-cli USER VERSION

Example:

v-change-user-php-cli user 7.4

add line to .bash_aliases to set default php command line version when multi-php is enabled.

v-change-user-port-owner

Move free ports to another user.

v-change-user-port-owner USER PORT|RANGE|+COUNT NEW_USER

Example:

v-change-user-port-owner agency +10 alice

This function moves free ports (not used by an app) from one user to another: a reseller gives ports to a customer, takes unused ports back, or the administrator moves ports between users. +COUNT moves the COUNT lowest free ports; a reseller that gives more than its free pool to its customer is topped up first while its tree has room. A move into a reseller's tree cannot take the tree above the reseller's PORTS. Who may move what is decided by the panel.

v-change-user-port-public

Open or close a port to the internet.

v-change-user-port-public USER PORT PUBLIC [RULE]

Example:

v-change-user-port-public alice 30105 yes

This function makes an assigned port public (yes) or private (no). A public port has a firewall ACCEPT rule tagged arcpanel-port-<port>-<user>. The port must be allowed to be public (PUBLIC_OK) and the user must not be suspended. With RULE, an existing firewall rule on the same port is linked to it (it gets the tag) instead of a new one; RULE is for administrators, so the panel and API v2 pass it for them only. With the firewall off the flag is stored and the rule is written by v-check-sys-ports repair once it is on.

v-change-user-port-public-ok

Allow or forbid public ports.

v-change-user-port-public-ok USER PORT|RANGE PUBLIC_OK

Example:

v-change-user-port-public-ok alice 30100-30109 yes

This function sets whether a user may open ports to the internet (yes or no). Turning it off closes the ports that are public.

v-change-user-rkey

Change user random key.

v-change-user-rkey USER [HASH]

This function changes user's RKEY value that has been used for security value to be used forgot password function only.

v-change-user-role

Updates user role.

v-change-user-role USER ROLE

Example:

v-change-user-role user administrator

Give/revoke user administrator rights to manage all accounts as admin

v-change-user-secret

Change the value of a secret of a user.

v-change-user-secret USER NAME VALUE_FILE [RESTART]

Example:

v-change-user-secret alice /shop/db_password /tmp/value yes

This function stores the value held in VALUE_FILE as the next version of the secret NAME of USER and keeps the last five versions. It prints the apps that reference the secret (node:DOMAIN, docker:NAME); with RESTART set to yes it restarts the ones that run, so they get the new value.

v-change-user-secret-description

Change the description of a secret of a user.

v-change-user-secret-description USER NAME DESCRIPTION

Example:

v-change-user-secret-description alice /shop/db_password 'Shop DB'

This function changes the description of the secret NAME of USER. The value and its version stay as they are.

v-change-user-shell

Change user shell.

v-change-user-shell USER SHELL

Example:

v-change-user-shell admin nologin

This function changes system shell of a user. Shell gives ability to use ssh.

v-change-user-sort-order

Updates user role.

v-change-user-sort-order USER SORT_ORDER

Example:

v-change-user-sort-order user date

Changes web UI display sort order for specified user.

v-change-user-template

Change user default template.

v-change-user-template USER TYPE TEMPLATE

Example:

v-change-user-template admin WEB wordpress

This function changes default user web template.

v-change-user-theme

Updates user theme.

v-change-user-theme USER THEME

Examples:

v-change-user-theme admin dark
v-change-user-theme peter vestia

Changes web UI display theme for specified user.

v-check-user-2fa

Check user token.

v-check-user-2fa USER TOKEN [IP]

Example:

v-check-user-2fa admin 493690 203.0.113.7

This function verifies user 2fa token. A token is accepted once: the time step of the last accepted token is kept as TWOFA_STEP. A wrong token is written to the auth log that fail2ban reads.

v-check-user-hash

Check user hash.

v-check-user-hash USER HASH [IP]

Example:

v-check-user-hash admin CN5JY6SMEyNGnyCuvmK5z4r7gtHAC4mRZ...

This function verifies user hash. It exits with 5 when the hash matches a suspended (locked) account and with 9 when it does not match.

v-check-user-npm-outdated

Check the global npm packages of a user for updates.

v-check-user-npm-outdated USER VERSION

Example:

v-check-user-npm-outdated alice 24.3.0

This function runs `npm outdated -g --json` as the user with the runtime VERSION and keeps the result for v-list-user-npm-packages (6 hours).

v-check-user-password

Check user password.

v-check-user-password USER PASSWORD [IP] [RETURN_HASH]

Example:

v-check-user-password admin qwerty1234

This function verifies user password from file. A suspended (locked) account is checked without its lock mark: with RETURN_HASH the hash is printed as for any account (v-check-user-hash then says it is suspended), without it the command exits with 5 when the password matches.

v-check-user-port

Check that a user may bind a port.

v-check-user-port USER PORT [PROTO]

Example:

v-check-user-port alice 30105

This function exits 0 when the port belongs to the user and no process of another account listens on it, E_NOTEXIST when the port is not the user's and E_INUSE when another account listens on it.

v-copy-user-package

Duplicate existing package.

v-copy-user-package PACKAGE NEW_PACKAGE

Example:

v-copy-user-package default new

This function allows the user to duplicate an existing package file to facilitate easier configuration.

v-delete-package-tenancy

Delete the reseller settings of a package.

v-delete-package-tenancy PACKAGE

Example:

v-delete-package-tenancy starter

This function removes the reseller settings file of a package. The panel runs it after v-delete-user-package.

v-delete-user

Delete user.

v-delete-user USER [RESTART]

Example:

v-delete-user whistler

This function deletes a certain user and all his resources such as domains, databases, cron jobs, etc.

v-delete-user-2fa

Delete 2fa of existing user.

v-delete-user-2fa USER

Example:

v-delete-user-2fa admin

This function deletes 2fa token of a user.

v-delete-user-app-processes

Delete the app processes of a user.

v-delete-user-app-processes USER

Example:

v-delete-user-app-processes alice

This function deletes every app process of USER: units, run files, records, ports and the templates of their domains. The pre_delete_user hook runs it before the user is deleted.

v-delete-user-auth-log

Delete auth log file for user.

v-delete-user-auth-log USER

Example:

v-delete-user-auth-log admin

This function for deleting a users auth log file

v-delete-user-backup

Delete user backup.

v-delete-user-backup USER BACKUP

Example:

v-delete-user-backup admin admin.2012-12-21_00-10-00.tar

This function deletes user backup.

v-delete-user-backup-exclusions

Delete backup exclusion.

v-delete-user-backup-exclusions USER [SYSTEM]

Example:

v-delete-user-backup-exclusions admin

This function for deleting backup exclusion

v-delete-user-backup-restic

Delete a specific user snapshot from restic backup repository.

v-delete-user-backup-restic USER SNAPSHOT

Example:

v-delete-user-backup-restic admin snapshot

Delete a specific user snapshot from restic backup repository. It doesn't take in account any pruning done by the retention policy. This function is used for deleting a specific user snapshot from restic backup repository.

v-delete-user-docker-apps

Delete the Docker apps of a user.

v-delete-user-docker-apps USER

Example:

v-delete-user-docker-apps alice

This function deletes every Docker app of USER: containers, networks, ports, records and rendered projects. The data folders stay in the home directory (removed with it when the user is deleted). It is run by the pre_delete_user hook.

v-delete-user-ips

Delete user ips.

v-delete-user-ips USER

Example:

v-delete-user-ips admin

This function deletes all user's ip addresses.

v-delete-user-log

Delete log file for user.

v-delete-user-log USER

Example:

v-delete-user-log user

This function for deleting a users log file

v-delete-user-login-limits

Clear the login limits of a user.

v-delete-user-login-limits USER

Example:

v-delete-user-login-limits admin

This function clears the hourly login limit and the 2FA limit that the panel keeps for a user name, so a user locked out by failed attempts of someone else can log in again.

v-delete-user-malware-ignore

Remove an entry of the malware ignore list of a user.

v-delete-user-malware-ignore USER SHA256

Example:

v-delete-user-malware-ignore alice 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

This function removes a SHA-256 from the ignore list of the user. The next scan reports a file with that content again.

v-delete-user-malware-quarantine

Delete a quarantined file of a user.

v-delete-user-malware-quarantine USER ID

Example:

v-delete-user-malware-quarantine alice 17602000001234

This function deletes a quarantined file and its entry for good.

v-delete-user-node-apps

Remove the Node.js apps of a user that is deleted.

v-delete-user-node-apps USER

Example:

v-delete-user-node-apps alice

This function is run by the pre_delete_user hook: it stops and removes the user's pm2 daemon, its linger and logrotate file and the app records. The home directory, the web domains and the ports are removed by v-delete-user and its other hooks.

v-delete-user-node-version

Uninstall a Node.js runtime of a user.

v-delete-user-node-version USER VERSION

Example:

v-delete-user-node-version alice 22.3.0

This function deletes one runtime from ~/.nvm/versions/node of the user, with its global packages. When it was the default, the newest remaining runtime becomes the default.

v-delete-user-notification

Delete user notification.

v-delete-user-notification USER NOTIFICATION

Example:

v-delete-user-notification admin 1

This function deletes user notification.

v-delete-user-npm-package

Uninstall a global npm package of a user.

v-delete-user-npm-package USER VERSION NAME

Example:

v-delete-user-npm-package alice 24.3.0 pm2

This function runs `npm uninstall -g NAME` as the user with the runtime VERSION. npm and corepack, which come with Node.js, cannot be removed.

v-delete-user-nvm

Remove Node.js (nvm) of a user.

v-delete-user-nvm USER

Example:

v-delete-user-nvm alice

This function deletes ~/.nvm of the user, with every Node.js runtime and global package in it, and the nvm block of ~/.bashrc.

v-delete-user-package

Delete user package.

v-delete-user-package PACKAGE

Example:

v-delete-user-package admin palegreen

This function for deleting user package.

If the package is in use, users will be updated to use the default package.

v-delete-user-port

Delete ports of a user.

v-delete-user-port USER PORT|RANGE [force]

Example:

v-delete-user-port alice 30100-30109

This function takes ports away from a user and closes their firewall rules. Ports of a reseller's customer go back to the reseller's pool, other ports go back to the server range. Ports used by an app are only deleted with "force".

v-delete-user-ports

Delete all ports of a user.

v-delete-user-ports USER

Example:

v-delete-user-ports alice

This function closes the firewall rules of every port of the user, keeps a copy of its registry file in data/ports/.deleted/ and gives the ports back: to the reseller's pool for a reseller's customer, to the server range otherwise. v-delete-user runs it through the pre_delete_user hook.

v-delete-user-secret

Delete a secret of a user.

v-delete-user-secret USER NAME [FORCE]

Example:

v-delete-user-secret alice /shop/db_password

This function deletes the secret NAME of USER with all its versions. A secret that an app references is refused with E_INUSE and the list of those apps, unless FORCE is yes; such apps then fail to start until the reference is removed or the secret is added again.

v-delete-user-sftp-jail

Delete user sftp jail.

v-delete-user-sftp-jail USER

Example:

v-delete-user-sftp-jail whistler

This function disables sftp jailed environment for USER

v-delete-user-ssh-key

Delete ssh key.

v-delete-user-ssh-key USER KEY

Example:

v-delete-user-ssh-key user unique_id

Delete user ssh key from authorized_keys

v-delete-user-stats

Delete user usage statistics.

v-delete-user-stats USER DOMAIN

Examples:

v-delete-user-stats user
v-delete-user-stats admin overall

This function deletes user statistics data.

v-generate-password-hash

No description in the command header.

v-generate-password-hash

v-get-user-salt

Get user salt.

v-get-user-salt USER [IP] [FORMAT]

Example:

v-get-user-salt admin

This function provides users salt

v-get-user-secret

Print the value of a secret of a user.

v-get-user-secret USER NAME [VERSION]

Example:

v-get-user-secret alice /shop/db_password

This function prints the value of the secret NAME of USER, or of a kept VERSION. It is for root on the shell only: it refuses to run through sudo, so neither the panel nor the APIs can read a value (spec D7).

v-get-user-value

Get user value.

v-get-user-value USER KEY

Example:

v-get-user-value admin FNAME

This function for obtaining certain user's parameters.

v-list-package-tenancy

List the reseller settings of packages.

v-list-package-tenancy [PACKAGE] [FORMAT]

Example:

v-list-package-tenancy reseller json

This function lists every package (or one) with its limits and its reseller settings: USERS, RESELLER_PACKAGES, RESELLER_VISIBLE and RESELLER_OWNER, defaults filled in.

v-list-user

List user parameters.

v-list-user USER [FORMAT]

Example:

v-list-user admin

This function to obtain user parameters.

v-list-user-auth-log

List user login log.

v-list-user-auth-log USER [FORMAT] [LINES]

Example:

v-list-user-auth-log alice json 100

This function prints the last LINES entries of the user's login history (default 10, at most 10000), oldest first.

v-list-user-backup

List user backup.

v-list-user-backup USER BACKUP [FORMAT]

Example:

v-list-user-backup admin admin.2019-05-19_03-31-30.tar

This function of obtaining the list of backup parameters. This call, just as all v_list_* calls, supports 3 formats - json, shell and plain.

v-list-user-backup-exclusions

List backup exclusions.

v-list-user-backup-exclusions USER [FORMAT]

Example:

v-list-user-backup-exclusions admin

This function for obtaining the backup exclusion list

v-list-user-backup-restic

List what a restic snapshot of a user holds.

v-list-user-backup-restic USER SNAPSHOT [FORMAT]

Example:

v-list-user-backup-restic alice 4f2a91c0 json

This function prints the backup.conf stored in a restic snapshot of USER: the web, DNS and mail domains, databases, cron jobs and folders it holds. The file is read into a working folder of root and parsed as untrusted input.

v-list-user-backups

List user backups.

v-list-user-backups USER [FORMAT]

Example:

v-list-user-backups admin

This function for obtaining the list of available user backups.

v-list-user-backups-restic

Backup system user with all its objects.

v-list-user-backups-restic USER NOTIFY

Example:

v-backup-user admin yes

This function is used for backing up user with all its domains and databases.

v-list-user-files-restic

List a folder of a restic snapshot.

v-list-user-files-restic USER SNAPSHOT FOLDER

Example:

v-list-user-files-restic alice 4f2a91c0 /home/alice/web

This function prints `restic ls --json` for FOLDER of a snapshot of USER. FOLDER is /home/USER or a folder below it; every argument reaches restic quoted and after "--".

v-list-user-ips

List user IPs.

v-list-user-ips USER [FORMAT]

Example:

v-list-user-ips admin

This function for obtaining the list of available IP addresses.

v-list-user-log

List user log.

v-list-user-log USER [FORMAT] [LINES]

Example:

v-list-user-log alice json 100

This function prints the last LINES entries of the user's action log (default 300, at most 10000), oldest first. USER 'system' reads the activity log of the server.

v-list-user-malware-findings

List the open malware findings of a user.

v-list-user-malware-findings USER [FORMAT]

Example:

v-list-user-malware-findings alice json

This function lists the suspicious files that the last scans found and that were neither quarantined nor ignored, most severe first: ID, DOMAIN, PATH (relative to public_html), SHA256, SIZE, MTIME, SEVERITY, RULES, LINE, SNIPPET (the matching line, attacker-controlled text), DETECTED, SCAN and DESCRIPTIONS (the description of each rule).

v-list-user-malware-ignores

List the files a user marked as not malware.

v-list-user-malware-ignores USER [FORMAT]

Example:

v-list-user-malware-ignores alice json

This function lists the ignore list of the user: SHA256, DOMAIN, PATH, RULES and ADDED. A file with one of these SHA-256 values is not reported.

v-list-user-malware-quarantine

List the quarantined files of a user.

v-list-user-malware-quarantine USER [FORMAT]

Example:

v-list-user-malware-quarantine alice json

This function lists the files moved to quarantine: ID, DOMAIN, PATH, SHA256, SIZE, MODE, SEVERITY, RULES and QUARANTINED, newest first.

v-list-user-malware-scans

List the malware scans of a user.

v-list-user-malware-scans USER [FORMAT]

Example:

v-list-user-malware-scans alice json

This function lists the records of the last scans of the user, newest first: ID, DOMAIN (empty for every domain), MODE, TRIGGER, STATUS, START, END, FILES, CHANGED, SKIPPED, ERRORS, FINDINGS, NEW, NEW_SUMMARY, RULES and ERROR.

v-list-user-malware-task

Show the current or last background malware scan of a user.

v-list-user-malware-task USER [LINES] [FORMAT]

Example:

v-list-user-malware-task alice 100 json

This function prints the task record (ID, DOMAIN, STATUS, EXIT, START, END) of the scan started by v-start-user-malware-scan and the last LINES lines of its output (default 100, at most 1000). STATUS is running, done or failed; a running task whose process is gone is reported, and stored, as failed. Without a task, STATUS is empty.

v-list-user-node-task

Show the current or last Node.js task of a user.

v-list-user-node-task USER [LINES] [FORMAT]

Example:

v-list-user-node-task alice 100 json

This function prints the task record (ID, ACTION, ARGS, STATUS, EXIT, START, END) and the last LINES lines of its output (default 100, at most 1000). STATUS is running, done or failed; a running task whose process is gone is reported, and stored, as failed. Without a task, STATUS is empty.

v-list-user-node-versions

List the Node.js runtimes of a user.

v-list-user-node-versions USER [FORMAT]

Example:

v-list-user-node-versions alice json

This function reads ~/.nvm of the user and lists each installed runtime: VERSION, MAJOR, DEFAULT, LTS, STATUS, EOL, SIZE (MB) and PACKAGES (global packages besides npm and corepack). The json format adds the package settings (NODE, ALLOWED, LIMIT), ENABLED (nvm installed), SHELL (nvm block in ~/.bashrc), COUNT, DEFAULT and ARCH.

v-list-user-notifications

List user notifications.

v-list-user-notifications USER [FORMAT]

Example:

v-list-user-notifications admin

This function for getting the notifications list

v-list-user-npm-packages

List the global npm packages of a user.

v-list-user-npm-packages USER VERSION [FORMAT]

Example:

v-list-user-npm-packages alice 24.3.0 json

This function lists the global packages of the runtime VERSION: NAME, VERSION, LATEST and OUTDATED (from the last v-check-user-npm-outdated when it is younger than 6 hours, else empty) and BUNDLED (npm and corepack come with Node.js). CHECKED is the time of that check.

v-list-user-ns

List user nameservers.

v-list-user-ns USER [FORMAT]

Example:

v-list-user-ns admin

Function for obtaining the list of user's DNS servers.

v-list-user-owners

List every user with its role and owner.

v-list-user-owners [FORMAT]

Example:

v-list-user-owners json

This function lists every panel user with its ROLE, its resolved OWNER (the reseller that owns it, else ROOT_USER; empty for administrators) and whether it is suspended.

v-list-user-package

List user package.

v-list-user-package PACKAGE [FORMAT]

This function for getting the list of system ip parameters.

v-list-user-packages

List user packages.

v-list-user-packages [FORMAT]

This function for obtaining the list of available hosting packages.

v-list-user-ports

List the ports of a user.

v-list-user-ports USER [FORMAT]

Example:

v-list-user-ports alice json

This function lists the user's ports with their live state (LISTEN: no, local for loopback, any for every other address) and the totals of the pool: LIMIT (package PORTS), ALLOCATED, ASSIGNED, PUBLIC and FREE. For a reseller, TREE_TOTAL and TREE_USED count its customers too.

v-list-user-quick-install-task

Show the current or last Quick Install of a user.

v-list-user-quick-install-task USER [LINES] [FORMAT]

Example:

v-list-user-quick-install-task alice 100 json

This function prints the task record (ID, DOMAIN, APP, STATUS, EXIT, START, END) and the last LINES lines of its output (default 100, at most 1000). STATUS is running, done or failed; a running task whose process is gone is reported, and stored, as failed. Without a task, STATUS is empty.

v-list-user-secret

List one secret of a user.

v-list-user-secret USER NAME [FORMAT]

Example:

v-list-user-secret alice /shop/db_password json

This function lists the secret NAME of USER: description, current version, fingerprint, the kept versions with their fingerprints and dates, and the apps that reference it (node:DOMAIN, docker:NAME). It never prints a value.

v-list-user-secret-store

List the secrets of a user.

v-list-user-secret-store USER [FORMAT] [USAGE]

Example:

v-list-user-secret-store alice json

This function lists the secrets of USER with their description, current version, fingerprint (8 hex characters of a keyed hash of the value) and the number of apps that reference them. It never prints a value. With USAGE set to no, USED_BY stays empty and the apps are not read (the reference pickers of the panel need the names only).

v-list-user-ssh-key

List ssh keys.

v-list-user-ssh-key USER [FORMAT]

Lists $user/.ssh/authorized_keys

v-list-user-stats

List user stats.

v-list-user-stats USER [FORMAT]

Example:

v-list-user-stats admin

This function for listing user statistics

v-list-user-tasks

List the tasks of a user.

v-list-user-tasks USER [ID] [LINES] [FORMAT]

Examples:

v-list-user-tasks admin json
v-list-user-tasks admin 17280000001234 100 json

This function prints the queue-task records of USER, newest first, or one record. LOG is the last LINES lines of the task log (default 100, at most 1000). A record that is still queued but whose line is gone from every queue is stored as failed. ATTEMPTS counts the runs of a task that the queue retries.

v-list-users

List users.

v-list-users [FORMAT]

Example:

v-list-users

This function to obtain the list of all system users.

v-list-users-stats

List overall user stats.

v-list-users-stats [FORMAT]

This function for listing overall user statistics

v-log-user-login

Add user login.

v-log-user-login USER IP STATUS [FINGERPRINT] [USER_AGENT] [AUTHLOG] [REASON]

The user agent and the reason are made log-safe (quotes and control characters replaced) instead of refused, so a failure always reaches the auth log that fail2ban reads.

v-log-user-logout

Log User logout event.

v-log-user-logout USER FINGERPRINT

v-rebuild-user

Rebuild system user.

v-rebuild-user USER [RESTART]

Example:

v-rebuild-user admin yes

This function rebuilds system user account.

v-rebuild-users

Rebuild system users.

v-rebuild-users [RESTART]

Example:

v-rebuild-users

This function rebuilds user configuration for all users.

v-release-user-port

Release ports assigned to an app.

v-release-user-port USER APP|PORT

Examples:

v-release-user-port alice node:api.example.com
v-release-user-port alice 30105

This function frees the ports assigned to an app (or one port): it closes their firewall rules and clears the app, the public flag and the comment. The ports stay in the user's pool.

v-rename-package-tenancy

Rename the reseller settings of a package.

v-rename-package-tenancy OLD_NAME NEW_NAME

Example:

v-rename-package-tenancy starter basic

This function moves the reseller settings of a package to its new name and updates RESELLER_PACKAGES lists that name it. The panel runs it after v-rename-user-package.

v-rename-user-package

Change package name.

v-rename-user-package OLD_NAME NEW_NAME [mode]

Example:

v-rename-package package package2

This function changes the name of an existing package.

v-rollback-user-secret

Roll a secret of a user back to an earlier version.

v-rollback-user-secret USER NAME VERSION [RESTART]

Example:

v-rollback-user-secret alice /shop/db_password 2

This function copies VERSION of the secret NAME of USER into a new version, so the history only moves forward. Like v-change-user-secret it prints the apps that reference the secret and, with RESTART set to yes, restarts the ones that run.

v-run-user-node-task

Run a Node.js task started by v-start-user-node-task.

v-run-user-node-task ID USER ACTION [ARGS...]

Example:

v-run-user-node-task 17286400001234 alice add-version lts

This function is the background part of v-start-user-node-task: it runs the command of the task and records its result. It refuses to run a task that v-start-user-node-task did not start.

v-run-user-quick-install

Run a Quick Install started by v-start-user-quick-install.

v-run-user-quick-install ID USER DOMAIN APP

Example:

v-run-user-quick-install 17286400001234 alice example.com DokuWiki

This function is the background part of v-start-user-quick-install: it runs v-add-web-domain-app with the staged options, removes them on every exit path and records the result. It refuses to run a task that v-start-user-quick-install did not start.

v-scan-user-web

Scan the web files of a user for malware.

v-scan-user-web USER [DOMAIN] [MODE] [TRIGGER] [FORMAT]

Example:

v-scan-user-web alice example.com full manual json

This function scans the public_html folder of one web domain, or of every web domain of the user when DOMAIN is empty, with the malware scanner (func/malware-scan.php) running as the user under nice and ionice. MODE is full (default) or incremental (only new and changed files since the last scan with the same rules). TRIGGER is manual (default) or nightly.

The open findings of the scanned domains are replaced by the result; ignored and quarantined files are left out. New findings send a panel notification to the user and the administrator. Prints the scan record. A scan of the user that is already running answers E_INUSE.

v-schedule-user-backup

Schedule user backup creation.

v-schedule-user-backup USER [FORMAT]

Example:

v-schedule-user-backup admin

This function for scheduling user backup creation.

v-schedule-user-backup-download

Schedule a backup.

v-schedule-user-backup-download USER BACKUP [FORMAT]

Example:

v-schedule-user-backup-download admin 2019-04-22_01-00-00.tar

This function for scheduling user backup creation.

v-schedule-user-backup-restic

Schedule user backup creation.

v-schedule-user-backup-restic USER [FORMAT]

Example:

v-schedule-user-backup admin

This function for scheduling user backup creation.

v-schedule-user-restore

Schedule user backup restoration.

v-schedule-user-restore USER BACKUP [WEB] [DNS] [MAIL] [DB] [CRON] [UDIR] [FORMAT]

Example:

v-schedule-user-restore 2019-04-22_01-00-00.tar

This function for scheduling user backup restoration.

v-schedule-user-restore-file-restic

Schedule the restore of a file or folder from a restic snapshot.

v-schedule-user-restore-file-restic USER SNAPSHOT PATH [FORMAT]

Example:

v-schedule-user-restore-file-restic alice 4f2a91c0 /home/alice/web/example.com/public_html/index.php

This function queues v-restore-file-restic for one file or folder of a snapshot of USER. PATH is absolute and inside /home/USER; it may hold letters, digits and . _ @ + - only, because v-restore-file-restic passes it to restic unquoted. The restore overwrites the current file. The queue line removes itself when it has run (v-restore-file-restic cannot remove a line whose path holds slashes); the restore is logged in the user's log.

v-schedule-user-restore-restic

Schedule user backup restoration.

v-schedule-user-restore-restic USER SNAPSHOT [OBJECT] [VALUE] [FORMAT]

Example:

v-schedule-user-restore-restic alice 4f2a91c0 web example.com

This function for scheduling user backup restoration from a restic snapshot.

v-search-user-object

Search objects.

v-search-user-object USER OBJECT [FORMAT]

Example:

v-search-user-object admin example.com json

This function that allows to find user objects.

v-start-user-malware-scan

Start a malware scan of a user in the background.

v-start-user-malware-scan USER [DOMAIN]

Example:

v-start-user-malware-scan alice example.com

This function starts a full v-scan-user-web of one web domain, or of every web domain of the user when DOMAIN is empty, detached from the caller, and prints the task ID. One scan per user runs at a time; the state and the output are read with v-list-user-malware-task.

v-start-user-node-task

Start a Node.js task of a user in the background.

v-start-user-node-task USER ACTION [ARGS...]

Examples:

v-start-user-node-task alice add-version lts
v-start-user-node-task alice add-package 24.3.0 pm2
v-start-user-node-task alice update-packages 24.3.0
v-start-user-node-task alice check-outdated 24.3.0
v-start-user-node-task alice app-build shop.example.com build

This function checks the arguments of a long Node.js operation, starts it detached from the caller and prints the task ID. ACTION is add-version (SPEC), add-package (VERSION SPEC), update-packages (VERSION) or check-outdated (VERSION), app-install (DOMAIN) or app-build (DOMAIN [SCRIPT]) for a Node.js app. A user runs one task at a time; the state and the output are read with v-list-user-node-task.

v-start-user-quick-install

Start a Quick Install of an application on a web domain in the background.

v-start-user-quick-install USER DOMAIN APP OPTIONS_FILE

Example:

v-start-user-quick-install alice example.com DokuWiki /tmp/options.json

This function checks the arguments of a Quick Install, keeps a root-only copy of the options (a JSON object, at most 64 KiB), starts v-add-web-domain-app detached from the caller and prints the task ID. A user runs one install at a time; the state and the output are read with v-list-user-quick-install-task.

v-suspend-user

Suspend user.

v-suspend-user USER [RESTART]

Example:

v-suspend-user alice yes

This function suspends a certain user and all his objects.

v-suspend-user-app-processes

Suspend the app processes of a user.

v-suspend-user-app-processes USER

Example:

v-suspend-user-app-processes alice

This function stops every app process of USER and marks them suspended, so that neither a reboot nor v-check-sys-app-processes starts them. The post_suspend_user hook runs it when the user is suspended.

v-suspend-user-docker-apps

Stop the Docker apps of a suspended user.

v-suspend-user-docker-apps USER

Example:

v-suspend-user-docker-apps alice

This function stops every Docker app of USER and marks the apps that were not suspended on their own as suspended with the user (SUSPENDED='user'), so that v-unsuspend-user-docker-apps starts exactly those again. It is run by the post_suspend_user hook.

v-suspend-user-node-apps

Stop the Node.js apps of a suspended user.

v-suspend-user-node-apps USER

Example:

v-suspend-user-node-apps alice

This function is run by the post_suspend_user hook: it marks every app that is not suspended on its own as suspended with the user (SUSPENDED='user') and stops and disables the user's pm2 daemon, so it does not start at boot. Ports stay assigned.

v-suspend-user-ports

Suspend the ports of a user.

v-suspend-user-ports USER

Example:

v-suspend-user-ports alice

This function closes the firewall rules of the user's public ports and marks its ports suspended. The ports stay public in the registry, so v-unsuspend-user-ports opens them again. v-suspend-user runs it through the post_suspend_user hook.

v-unsuspend-user

Unsuspend user.

v-unsuspend-user USER [RESTART]

Example:

v-unsuspend-user bob

This function unsuspends user and all his objects.

v-unsuspend-user-app-processes

Unsuspend the app processes of a user.

v-unsuspend-user-app-processes USER

Example:

v-unsuspend-user-app-processes alice

This function lifts the suspension of every app process of USER and starts those the user had running (not the ones of a suspended domain). The post_unsuspend_user hook runs it when the user is unsuspended.

v-unsuspend-user-docker-apps

Start the Docker apps of an unsuspended user again.

v-unsuspend-user-docker-apps USER

Example:

v-unsuspend-user-docker-apps alice

This function lifts the suspension that v-suspend-user-docker-apps set on the Docker apps of USER (SUSPENDED='user') and starts the apps that were running. Apps suspended on their own stay suspended. It is run by the post_unsuspend_user hook.

v-unsuspend-user-node-apps

Start the Node.js apps of an unsuspended user again.

v-unsuspend-user-node-apps USER

Example:

v-unsuspend-user-node-apps alice

This function is run by the post_unsuspend_user hook: apps suspended with the user are unsuspended, the user's pm2 daemon is started and the apps that should run are started. Apps suspended on their own stay suspended.

v-unsuspend-user-ports

Unsuspend the ports of a user.

v-unsuspend-user-ports USER

Example:

v-unsuspend-user-ports alice

This function clears the suspended mark of the user's ports and opens the firewall rules of its public ports again. v-unsuspend-user runs it through the post_unsuspend_user hook.

v-update-user-backup-exclusions

Update backup exclusion list.

v-update-user-backup-exclusions USER FILE

Example:

v-update-user-backup-exclusions admin /tmp/backup_exclusions

This function for updating backup exclusion list

v-update-user-cgroup

Update user disk quota.

v-update-user-cgroup USER

Example:

v-update-user-cgroup admin

The functions updates cgroup, cpu, ram ,... for specific user

v-update-user-counters

Update user usage counters.

v-update-user-counters [USER]

Example:

v-update-user-counters admin

Function updates usage counters like U_WEB_DOMAINS, U_MAIL_ACCOUNTS, etc.

v-update-user-disk

Update user disk usage.

v-update-user-disk USER

Example:

v-update-user-disk admin

The functions recalculates disk usage and updates database.

v-update-user-npm-packages

Update the global npm packages of a user.

v-update-user-npm-packages USER VERSION

Example:

v-update-user-npm-packages alice 24.3.0

This function runs `npm update -g` as the user with the runtime VERSION.

v-update-user-package

Update user package.

v-update-user-package PACKAGE

Example:

v-update-user-package default

This function propagates package to connected users.

v-update-user-quota

Update user disk quota.

v-update-user-quota USER

Example:

v-update-user-quota alice

The functions updates disk quota for specific user

v-update-user-stats

Update user statistics.

v-update-user-stats [USER]

Example:

v-update-user-stats admin

Function logs user parameters into statistics database.

Resellers

v-add-reseller-package

Add a package owned by a reseller.

v-add-reseller-package RESELLER TMPFILE NAME

Example:

v-add-reseller-package agency /tmp/package.XXXX starter

This function adds the package RESELLER_NAME from TMPFILE (same format as v-add-user-package) for RESELLER, when POLICY_RESELLER_CREATE_PACKAGES is yes. No limit may be higher than the reseller's own limit, the shell must be one of POLICY_RESELLER_PACKAGE_SHELLS, and while users may not choose templates (POLICY_USER_EDIT_WEB_TEMPLATES, POLICY_USER_EDIT_DNS_TEMPLATES) the templates are the reseller's own.

v-add-reseller-user

Add a customer owned by a reseller.

v-add-reseller-user RESELLER USER PASSWORD EMAIL [PACKAGE] [NAME] [LASTNAME]

Example:

v-add-reseller-user agency alice 'P4$$w@rD' alice@example.com starter Alice Smith

This function creates a user owned by RESELLER. The package must be one the reseller may assign (v-list-reseller-packages) and must fit into the reseller's own plan (v-check-reseller-quota).

v-change-reseller-package

Change a package owned by a reseller.

v-change-reseller-package RESELLER TMPFILE PACKAGE

Example:

v-change-reseller-package agency /tmp/package.XXXX agency_starter

This function rewrites the limits of a package created by RESELLER from TMPFILE and applies them to the users of that package. No limit may be higher than the reseller's own limit, the shell must be one of POLICY_RESELLER_PACKAGE_SHELLS or the one the package has, and while users may not choose templates the templates are the reseller's own.

v-change-reseller-user-package

Change the package of a reseller's customer.

v-change-reseller-user-package RESELLER USER PACKAGE

Example:

v-change-reseller-user-package agency alice business

This function changes the package of a customer owned by RESELLER. The new package must be assignable by the reseller and fit into its plan after the customer's current package is taken out.

v-check-reseller-quota

Check whether a package fits into a reseller's plan.

v-check-reseller-quota RESELLER PACKAGE [USER]

Example:

v-check-reseller-quota agency starter

This function exits with 0 when a customer on PACKAGE fits into the reseller's plan. Otherwise it prints the first exceeded key (USERS, WEB_DOMAINS, ...) and exits with E_LIMIT. With USER, that customer's current package is left out (package change).

v-delete-reseller-package

Delete a package owned by a reseller.

v-delete-reseller-package RESELLER PACKAGE

Example:

v-delete-reseller-package agency agency_starter

This function deletes a package created by RESELLER, with its reseller settings, when no user has it.

v-list-reseller-packages

List the packages a reseller may assign.

v-list-reseller-packages RESELLER [FORMAT]

Example:

v-list-reseller-packages agency json

This function lists the packages RESELLER may assign to its customers: the packages named in RESELLER_PACKAGES of its own package (with "*", every package flagged RESELLER_VISIBLE) and the packages it created.

v-list-reseller-users

List the customers of a reseller.

v-list-reseller-users RESELLER [FORMAT]

Example:

v-list-reseller-users agency json

This function lists the users owned by RESELLER, with the fields of v-list-users and their OWNER.

v-list-reseller-users-stats

List the monthly statistics of a reseller's tree.

v-list-reseller-users-stats RESELLER [FORMAT]

Example:

v-list-reseller-users-stats agency json

This function sums the monthly statistics (stats.log) of a reseller and its customers, one row per month, in the columns of v-list-users-stats. A limit (DISK_QUOTA, BANDWIDTH) is unlimited when one account of the month has no limit. U_USERS counts the accounts with a row for the month.

v-update-reseller-counters

Update the usage totals of resellers.

v-update-reseller-counters RESELLER|all

Example:

v-update-reseller-counters all

This function recomputes the R_* totals of a reseller (its own usage plus its customers'). With "all" it updates every reseller and reports users whose owner no longer exists or is no longer a reseller, and package sidecars without a package.

Web domains

v-add-domain

Add web/dns/mail domain.

v-add-domain USER DOMAIN [IP] [RESTART]

Example:

v-add-domain admin example.com

This function adds web/dns/mail domain to a server.

v-add-fastcgi-cache

Enable FastCGI cache for nginx.

v-add-fastcgi-cache USER DOMAIN [DURATION] [RESTART]

Example:

v-add-fastcgi-cache user domain.tld 30m

This function enables FastCGI cache for nginx Acceptable values for duration is time in seconds (10s) minutes (10m) or days (10d) Add "yes" as last parameter to restart nginx

v-add-web-domain

Add web domain.

v-add-web-domain USER DOMAIN [IP] [RESTART] [ALIASES] [PROXY_EXTENSIONS]

Example:

v-add-web-domain admin wonderland.com 192.18.22.43 yes www.wonderland.com

This function adds virtual host to a server. In cases when ip is undefined in the script, "default" template will be used. The alias of `www.domain.tld` type will be automatically assigned to the domain unless "none" is transmitted as argument. If ip have associated dns name, this domain will also get the alias domain-tpl.$ipname. An alias with the ip name is useful during the site testing while dns isn't moved to server yet.

v-add-web-domain-alias

Add web domain alias.

v-add-web-domain-alias USER DOMAIN ALIASES [RESTART]

Example:

v-add-web-domain-alias admin acme.com www.acme.com yes

This function adds one or more aliases to a domain (it is also called "domain parking"). This function supports wildcards <*.domain.tld>.

v-add-web-domain-allow-users

Allow other users create subdomains.

v-add-web-domain-allow-users USER DOMAIN

Example:

v-add-web-domain-allow-users admin admin.com

Bypass the rule check for Enforce subdomain ownership for a specific domain. Enforce subdomain ownership setting in /edit/server/ set to no will always overwrite this behaviour eg: admin adds admin.com user can create user.admin.com

v-add-web-domain-app

No description in the command header.

v-add-web-domain-app

v-add-web-domain-backend

Add web domain backend.

v-add-web-domain-backend USER DOMAIN [TEMPLATE] [RESTART]

Example:

v-add-web-domain-backend admin example.com default yes

This function is used to add the web backend configuration.

v-add-web-domain-ftp

Add ftp account for web domain.

v-add-web-domain-ftp USER DOMAIN FTP_USER FTP_PASSWORD [FTP_PATH]

Example:

v-add-web-domain-ftp alice wonderland.com alice_ftp p4$$vvOrD

This function creates additional ftp account for web domain.

v-add-web-domain-httpauth

Add password protection for web domain.

v-add-web-domain-httpauth USER DOMAIN AUTH_USER AUTH_PASSWORD [RESTART]

Example:

v-add-web-domain-httpauth admin acme.com user02 super_pass

This function is used for securing web domain with http auth

v-add-web-domain-proxy

Add webdomain proxy support.

v-add-web-domain-proxy USER DOMAIN [TEMPLATE] [EXTENSIONS] [RESTART]

Example:

v-add-web-domain-proxy admin example.com

This function enables proxy support for a domain. This can significantly improve website speed.

v-add-web-domain-redirect

Adding force redirect to domain.

v-add-web-domain-redirect USER DOMAIN REDIRECT HTTPCODE [RESTART]

Examples:

v-add-web-domain-redirect user domain.tld domain.tld
v-add-web-domain-redirect user domain.tld www.domain.tld
v-add-web-domain-redirect user domain.tld shop.domain.tld
v-add-web-domain-redirect user domain.tld different-domain.com
v-add-web-domain-redirect user domain.tld shop.different-domain.com
v-add-web-domain-redirect user domain.tld different-domain.com 302

Function creates a forced redirect to a domain

v-add-web-domain-ssl

Adding ssl for domain.

v-add-web-domain-ssl USER DOMAIN SSL_DIR [SSL_HOME] [RESTART]

Example:

v-add-web-domain-ssl admin example.com /tmp/folder/contains/certificate/files/

This function turns on SSL support for a domain. Parameter ssl_dir is a path to directory where 2 or 3 ssl files can be found. Certificate file domain.tld.crt and its key domain.tld.key are mandatory. Certificate authority domain.tld.ca file is optional. If home directory parameter (ssl_home) is not set, https domain uses public_shtml as separate documentroot directory.

v-add-web-domain-ssl-force

Adding force SSL for a domain.

v-add-web-domain-ssl-force USER DOMAIN [RESTART] [QUIET]

Example:

v-add-web-domain-ssl-force admin acme.com

This function forces SSL for the requested domain.

v-add-web-domain-ssl-hsts

Adding hsts to a domain.

v-add-web-domain-ssl-hsts USER DOMAIN [RESTART] [QUIET]

This function enables HSTS for the requested domain.

v-add-web-domain-ssl-preset

Adding force SSL for a domain.

v-add-web-domain-ssl-preset USER DOMAIN [SSL]

Example:

v-add-web-domain-ssl-preset

Up on creating an web domain set the SSL Force values due to the delay of LE due to DNS propergation over DNS cluster When LE has been activated it will set the actions

v-add-web-domain-stats

Add log analyser to generate domain statistics.

v-add-web-domain-stats USER DOMAIN TYPE

Example:

v-add-web-domain-stats admin example.com awstats

This function is used for enabling log analyser system to a domain. For viewing the domain statistics use <http://domain.tld/vstats/> link. Access this page is not protected by default. If you want to secure it with passwords you should use v-add-web-domain_stat_auth script.

v-add-web-domain-stats-user

Add password protection to web domain statistics.

v-add-web-domain-stats-user USER DOMAIN STATS_USER STATS_PASSWORD [RESTART]

Example:

v-add-web-domain-stats-user admin example.com watchdog your_password

This function is used for securing the web statistics page.

v-add-web-php

Add php fpm version.

v-add-web-php VERSION

Example:

v-add-web-php 8.0

Install php-fpm for provided version. The version must be listed as installable in the version catalog (install/common/php/versions.conf) and provided by the PHP repository of the server.

v-change-domain-owner

Change domain owner.

v-change-domain-owner DOMAIN USER

Example:

v-change-domain-owner www.example.com bob

This function of changing domain ownership.

v-change-web-domain-backend-tpl

Change web domain backend template.

v-change-web-domain-backend-tpl USER DOMAIN TEMPLATE [RESTART]

Example:

v-change-web-domain-backend-tpl admin acme.com PHP-7_4

This function changes backend template

v-change-web-domain-dirlist

Enable/disable directory listing.

v-change-web-domain-dirlist USER DOMAIN MODE

Example:

v-change-web-domain-dirlist user demo.com on

This function is used for changing the directory list mode.

v-change-web-domain-docroot

Changes the document root for an existing web domain.

v-change-web-domain-docroot USER DOMAIN TARGET_DOMAIN [DIRECTORY] [PHP]

Examples:

v-change-web-domain-docroot admin domain.tld otherdomain.tld
v-change-web-domain-docroot admin test.local default

# add custom docroot # points domain.tld to otherdomain.tld's document root.

# remove custom docroot # returns document root to default value for domain.

This call changes the document root of a chosen web domain to another available domain under the user context.

v-change-web-domain-ftp-password

Change ftp user password.

v-change-web-domain-ftp-password USER DOMAIN FTP_USER FTP_PASSWORD

Example:

v-change-web-domain-ftp-password admin example.com ftp_usr ftp_qwerty

This function changes ftp user password.

v-change-web-domain-ftp-path

Change path for ftp user.

v-change-web-domain-ftp-path USER DOMAIN FTP_USER FTP_PATH

Example:

v-change-web-domain-ftp-path admin example.com /home/admin/example.com

This function changes ftp user path.

v-change-web-domain-httpauth

Change password for http auth user.

v-change-web-domain-httpauth USER DOMAIN AUTH_USER AUTH_PASSWORD [RESTART]

Example:

v-change-web-domain-httpauth admin acme.com alice white_rA$$bIt

This function is used for changing http auth user password

v-change-web-domain-ip

Change web domain ip.

v-change-web-domain-ip USER DOMAIN DOMAIN [RESTART]

Example:

v-change-web-domain-ip admin example.com 167.86.105.230 yes

This function is used for changing domain ip

v-change-web-domain-name

Change web domain name.

v-change-web-domain-name USER DOMAIN NEW_DOMAIN [RESTART]

Example:

v-change-web-domain-name alice wonderland.com lookinglass.com yes

This function is used for changing the domain name.

v-change-web-domain-php

Change the PHP version and PHP-FPM profile of a web domain.

v-change-web-domain-php USER DOMAIN VERSION PROFILE [RESTART]

Example:

v-change-web-domain-php alice example.com 8.4 medium

This function sets the PHP version and the PHP-FPM profile of a web domain's pool. Both must be allowed by the user's package (PHP_VERSIONS and PHP_PROFILES) unless the domain already has them: a version or profile that the package no longer allows is kept but cannot be chosen again. A new version changes the backend template to PHP-X_Y; the pool is written with the profile. With WEB_BACKEND_POOL='user' the profile is the one of the user's shared pool.

v-change-web-domain-proxy-tpl

Change web domain proxy template.

v-change-web-domain-proxy-tpl USER DOMAIN TEMPLATE [EXTENSIONS] [RESTART]

Example:

v-change-web-domain-proxy-tpl admin domain.tld hosting

This function changes proxy template

v-change-web-domain-sslcert

Change domain ssl certificate.

v-change-web-domain-sslcert USER DOMAIN SSL_DIR [RESTART]

Example:

v-change-web-domain-sslcert admin example.com /home/admin/tmp

This function changes SSL domain certificate and the key. If ca file present it will be replaced as well. The previous certificate is handed to the user in a folder below private/, copied there by the user.

v-change-web-domain-sslhome

Changing domain ssl home.

v-change-web-domain-sslhome USER DOMAIN SSL_HOME [RESTART]

Examples:

v-change-web-domain-sslhome admin acme.com single
v-change-web-domain-sslhome admin acme.com same

This function changes SSL home directory. Single will separate the both public_html / public_shtml. Same will always point to public_shtml

v-change-web-domain-stats

Change web domain statistics.

v-change-web-domain-stats USER DOMAIN TYPE

Example:

v-change-web-domain-stats admin example.com awstats

This function of deleting site's system of statistics. Its type is automatically chooses from client's configuration file.

v-change-web-domain-tpl

Change web domain template.

v-change-web-domain-tpl USER DOMAIN TEMPLATE [RESTART]

Example:

v-change-web-domain-tpl admin acme.com opencart

This function changes template of the web configuration file. The content of webdomain directories remains untouched.

v-change-web-domain-tpl-vars

Change the template variables of a web domain.

v-change-web-domain-tpl-vars USER DOMAIN KEY=VALUE [KEY=VALUE...]

Examples:

v-change-web-domain-tpl-vars alice example.com BACKEND_PORT=auto
v-change-web-domain-tpl-vars alice example.com BACKEND_PORT=30001

This function sets variables declared by the metadata of the domain's client-facing template (the proxy template on NGINX + Apache, the web template on NGINX + PHP-FPM) and rebuilds the domain. A port variable must be a port of the domain owner's pool: an unassigned port (or "auto" for the lowest free one) is assigned to web:<domain>; a port already assigned to web:<domain>, node:<domain>, app:<domain>, docker:<app> or manual is used as it is. When NGINX refuses the result, the previous values are restored.

v-delete-domain

Delete web/dns/mail domain.

v-delete-domain USER DOMAIN

Example:

v-delete-domain admin domain.tld

This function deletes web/dns/mail domain.

v-delete-fastcgi-cache

Disable FastCGI cache for nginx.

v-delete-fastcgi-cache USER DOMAIN [RESTART]

Example:

v-delete-fastcgi-cache user domain.tld

This function disables FastCGI cache for nginx

v-delete-web-domain

Delete web domain.

v-delete-web-domain USER DOMAIN [RESTART]

Example:

v-delete-web-domain admin wonderland.com

The call of function leads to the removal of domain and all its components (statistics, folders contents, ssl certificates, etc.). This operation is not fully supported by "undo" function, so the data recovery is possible only with a help of reserve copy.

v-delete-web-domain-alias

Delete web domain alias.

v-delete-web-domain-alias USER DOMAIN ALIAS [RESTART]

Example:

v-delete-web-domain-alias admin example.com www.example.com

This function of deleting the alias domain (parked domain). By this call default www alias can be removed as well.

v-delete-web-domain-allow-users

Disables other users create subdomains.

v-delete-web-domain-allow-users USER DOMAIN

Example:

v-delete-web-domain-allow-users admin admin.com

Enable the rule check for Enforce subdomain ownership for a specific domain. Enforce subdomain ownership setting in /edit/server/ set to no will always overwrite this behaviour eg: admin adds admin.com user can create user.admin.com

v-delete-web-domain-backend

Deleting web domain backend configuration.

v-delete-web-domain-backend USER DOMAIN [RESTART]

Example:

v-delete-web-domain-backend admin acme.com

This function of deleting the virtualhost backend configuration.

v-delete-web-domain-ftp

Delete webdomain ftp account.

v-delete-web-domain-ftp USER DOMAIN FTP_USER

Example:

v-delete-web-domain-ftp admin wonderland.com bob_ftp

This function deletes additional ftp account.

v-delete-web-domain-httpauth

Delete http auth user.

v-delete-web-domain-httpauth USER DOMAIN AUTH_USER [RESTART]

Example:

v-delete-web-domain-httpauth admin example.com alice

This function is used for deleting http auth user

v-delete-web-domain-proxy

Deleting web domain proxy configuration.

v-delete-web-domain-proxy USER DOMAIN [RESTART]

Example:

v-delete-web-domain-proxy alice lookinglass.com

This function of deleting the virtualhost proxy configuration.

v-delete-web-domain-redirect

Delete force redirect to domain.

v-delete-web-domain-redirect USER DOMAIN [RESTART]

Example:

v-add-web-domain-redirect user domain.tld

Function delete a forced redirect to a domain

v-delete-web-domain-ssl

Delete web domain SSL support.

v-delete-web-domain-ssl USER DOMAIN [RESTART]

Example:

v-delete-web-domain-ssl admin acme.com

This function disable https support and deletes SSL certificates.

v-delete-web-domain-ssl-force

Remove ssl force from domain.

v-delete-web-domain-ssl-force USER DOMAIN [RESTART] [QUIET]

Example:

v-delete-web-domain-ssl-force admin domain.tld

This function removes force SSL configurations.

v-delete-web-domain-ssl-hsts

Remove ssl force from domain.

v-delete-web-domain-ssl-hsts USER DOMAIN [RESTART] [QUIET]

Example:

v-delete-web-domain-ssl-hsts user domain.tld

This function removes force SSL configurations.

v-delete-web-domain-stats

Delete web domain statistics.

v-delete-web-domain-stats USER DOMAIN

Example:

v-delete-web-domain-stats user02 h1.example.com

This function of deleting site's system of statistics. Its type is automatically chooses from client's configuration file.

v-delete-web-domain-stats-user

Disable web domain stats authentication support.

v-delete-web-domain-stats-user USER DOMAIN [RESTART]

Example:

v-delete-web-domain-stats-user admin acme.com

This function removes authentication of statistics system. If the script is called without naming a certain user, all users will be removed. After deleting all of them statistics will be accessible for view without an authentication.

v-delete-web-domain-tpl-vars

Delete the template variables of a web domain.

v-delete-web-domain-tpl-vars USER DOMAIN

Example:

v-delete-web-domain-tpl-vars alice example.com

This function releases the ports assigned to web:<domain>, removes the domain's variables and rebuilds the domain. It also cleans up after a deleted domain: a missing domain or variables file is not an error.

v-delete-web-domains

Delete web domains.

v-delete-web-domains USER [RESTART]

Example:

v-delete-web-domains admin

This function deletes all user's webdomains.

v-delete-web-php

Delete php fpm version.

v-delete-web-php VERSION

Example:

v-delete-web-php 7.3

This function removes an installed PHP-FPM version with its extension packages. It refuses the default version and a version that web domains use.

v-dump-site

Dumps the files of a site into a zip archive.

v-dump-site USER DOMAIN [TYPE]

Examples:

v-dump-site user domain
v-dump-site user domain full

Dumps site files in /backup/user.domain.timestamp.zip

v-list-quick-install-app-options

No description in the command header.

v-list-quick-install-app-options

v-list-quick-install-apps

No description in the command header.

v-list-quick-install-apps

v-list-web-domain

List web domain parameters.

v-list-web-domain USER DOMAIN [FORMAT]

Example:

v-list-web-domain admin example.com

This function to obtain web domain parameters.

v-list-web-domain-accesslog

List web domain access log.

v-list-web-domain-accesslog USER DOMAIN [LINES] [FORMAT]

Example:

v-list-web-domain-accesslog admin example.com

This function of obtaining raw access web domain logs.

v-list-web-domain-errorlog

List web domain error log.

v-list-web-domain-errorlog USER DOMAIN [LINES] [FORMAT]

Example:

v-list-web-domain-errorlog admin acme.com

This function of obtaining raw error web domain logs.

v-list-web-domain-php

List the PHP settings of a web domain.

v-list-web-domain-php USER DOMAIN [FORMAT]

Example:

v-list-web-domain-php alice example.com json

This function lists the PHP version and PHP-FPM profile of a web domain: VERSION (empty for no-php), BACKEND, PROFILE, PROFILE_APPLIED (no when the backend template has no %php_profile% line), VERSION_ALLOWED and PROFILE_ALLOWED (no when the package no longer allows the domain's value), ALLOWED (both), the VERSIONS (installed, with STATUS and EOL) and PROFILES the package allows, DEFAULT_PROFILE, and EFFECTIVE: the values of the PHP limits with their SOURCE (php.ini of the version, or the profile).

v-list-web-domain-ssl

List web domain ssl certificate.

v-list-web-domain-ssl USER DOMAIN [FORMAT]

Example:

v-list-web-domain-ssl admin wonderland.com

This function of obtaining domain ssl files.

v-list-web-domain-tpl-vars

List the template variables of a web domain.

v-list-web-domain-tpl-vars USER DOMAIN [FORMAT]

Example:

v-list-web-domain-tpl-vars alice example.com json

This function lists the variables stored for a web domain, the client-facing template they belong to (ACTIVE_KIND, ACTIVE_TEMPLATE), the variables that template declares and the required ones without a value (MISSING).

v-list-web-domains

List web domains.

v-list-web-domains USER [FORMAT]

Example:

v-list-web-domains alice

This function to obtain the list of all user web domains.

v-list-web-stats

List web statistics.

v-list-web-stats [FORMAT]

Example:

v-list-web-stats

labels: web panel

This function for obtaining the list of web statistics analyzer.

v-list-web-templates

List web templates.

v-list-web-templates [FORMAT]

Example:

v-list-web-templates

This function for obtaining the list of web templates available to a user.

v-list-web-templates-backend

Listing backend templates.

v-list-web-templates-backend [FORMAT]

Example:

v-list-web-templates-backend

This function for obtaining the list of available backend templates.

v-list-web-templates-meta

List web templates with their metadata.

v-list-web-templates-meta [KIND] [FORMAT]

Example:

v-list-web-templates-meta proxy json

This function lists the templates of KIND (web, proxy or backend) that exist on this server, from the same folders as v-list-web-templates, v-list-web-templates-proxy and v-list-web-templates-backend, with the title, description, category, runtime and variables of their metadata file. A template without metadata is listed with its name as title and HAS_META='no'.

v-list-web-templates-proxy

Listing proxy templates.

v-list-web-templates-proxy [FORMAT]

Example:

v-list-web-templates-proxy

This function for obtaining the list of proxy templates available to a user.

v-purge-nginx-cache

Purge nginx cache.

v-purge-nginx-cache USER DOMAIN

Example:

v-purge-nginx-cache user domain.tld

This function purges nginx cache.

v-rebuild-web-domain

Rebuild web domain.

v-rebuild-web-domain USER DOMAIN [RESTART]

Example:

v-rebuild-web-domain user domain.tld

This function rebuilds web configuration files.

v-rebuild-web-domains

Rebuild web domains.

v-rebuild-web-domains USER [RESTART]

Example:

v-rebuild-web-domains

This function rebuilds web configuration files.

v-restart-proxy

Restart proxy server.

v-restart-proxy NONE

Example:

v-restart-proxy [RESTART]

This function reloads proxy server configuration.

v-restart-web

Restart web server.

v-restart-web [RESTARRT]

Example:

v-restart-web

This function reloads web server configuration.

v-restart-web-backend

Restart php interpreter.

v-restart-web-backend NONE

Example:

v-restart-web-backend

This function reloads php interpreter configuration.

v-search-domain-owner

Search domain owner.

v-search-domain-owner DOMAIN [TYPE]

Example:

v-search-domain-owner acme.com

This function that allows to find user objects.

v-suspend-domain

Suspend web/dns/mail domain.

v-suspend-domain USER DOMAIN

Example:

v-suspend-domain admin example.com

This function suspends web/dns/mail domain.

v-suspend-web-domain

Suspend web domain.

v-suspend-web-domain USER DOMAIN [RESTART]

Example:

v-suspend-web-domain admin example.com yes

This function for suspending the site's operation. After blocking it all visitors will be redirected to a web page explaining the reason of suspend. By blocking the site the content of all its directories remains untouched.

v-suspend-web-domains

Suspend web domains.

v-suspend-web-domains USER [RESTART]

Example:

v-suspend-web-domains bob

This function of suspending all user's sites.

v-unsuspend-domain

Unsuspend web/dns/mail domain.

v-unsuspend-domain USER DOMAIN

Example:

v-unsuspend-domain admin acme.com

This function unsuspends web/dns/mail domain.

v-unsuspend-web-domain

Unsuspend web domain.

v-unsuspend-web-domain USER DOMAIN [RESTART]

Example:

v-unsuspend-web-domain admin acme.com

This function of unsuspending the domain.

v-unsuspend-web-domains

Unsuspend web domains.

v-unsuspend-web-domains USER [RESTART]

Example:

v-unsuspend-web-domains admin

This function of unsuspending all user's sites.

v-update-web-domain-disk

Update disk usage for domain.

v-update-web-domain-disk USER DOMAIN

Example:

v-update-web-domain-disk alice wonderland.com

This function recalculates disk usage for specific webdomain.

v-update-web-domain-ssl

Updating ssl certificate for domain.

v-update-web-domain-ssl USER DOMAIN SSL_DIR [RESTART]

Example:

v-update-web-domain-ssl admin domain.com /home/admin/tmp

This function updates the SSL certificate for a domain. Parameter ssl_dir is a path to directory where 2 or 3 ssl files can be found. Certificate file domain.tld.crt and its key domain.tld.key are mandatory. Certificate authority domain.tld.ca file is optional.

v-update-web-domain-stat

Update domain statistics.

v-update-web-domain-stat USER DOMAIN

Example:

v-update-web-domain-stat alice acme.com

This function runs log analyser for specific webdomain.

v-update-web-domain-traff

Update domain bandwidth usage.

v-update-web-domain-traff USER DOMAIN

Example:

v-update-web-domain-traff admin example.com

This function recalculates bandwidth usage for specific domain.

v-update-web-domains-disk

Update domains disk usage.

v-update-web-domains-disk USER

Example:

v-update-web-domains-disk alice

This function recalculates disk usage for all user webdomains.

v-update-web-domains-stat

Update domains statistics.

v-update-web-domains-stat USER

Example:

v-update-web-domains-stat admin

This function runs log analyser usage for all user webdomains.

v-update-web-domains-traff

Update domains bandwidth usage.

v-update-web-domains-traff USER

Example:

v-update-web-domains-traff bob

This function recalculates bandwidth usage for all user webdomains.

v-update-web-templates

Update web templates.

v-update-web-templates [RESTART] [SKIP]

Example:

v-update-web-templates

This function for obtaining updated web (Nginx/Apache2/PHP) templates from the ArcPanel package.

SSL certificates

v-add-letsencrypt-domain

Check letsencrypt domain.

v-add-letsencrypt-domain USER DOMAIN [ALIASES] [MAIL] [KEY_ALGO]

Examples:

v-add-letsencrypt-domain admin wonderland.com www.wonderland.com,demo.wonderland.com
v-add-letsencrypt-domain admin wonderland.com '' yes

This function check and validates domain with Let's Encrypt

v-add-letsencrypt-host

Add letsencrypt for host and backend.

v-add-letsencrypt-host NONE

Example:

v-add-letsencrypt-host

This function check and validates the backend certificate and generate a new let's encrypt certificate.

v-add-letsencrypt-user

Register letsencrypt user account.

v-add-letsencrypt-user USER

Example:

v-add-letsencrypt-user bob

This function creates and register LetsEncrypt account

v-delete-letsencrypt-domain

Deleting letsencrypt ssl certificate for domain.

v-delete-letsencrypt-domain USER DOMAIN [RESTART] [MAIL]

Example:

v-delete-letsencrypt-domain admin acme.com yes

This function turns off letsencrypt SSL support for a domain.

v-generate-ssl-cert

Generate self signed certificate and CSR request.

v-generate-ssl-cert DOMAIN EMAIL COUNTRY STATE CITY ORG UNIT [ALIASES] [FORMAT] [KEY_ALGO]

Example:

v-generate-ssl-cert example.com mail@yahoo.com USA California Monterey ACME.COM IT

This function generates self signed SSL certificate and CSR request

v-list-letsencrypt-user

List letsencrypt key.

v-list-letsencrypt-user USER [FORMAT]

Example:

v-list-letsencrypt-user admin

This function for obtaining the letsencrypt key thumbprint

v-schedule-letsencrypt-domain

Queue a Let's Encrypt certificate for a web or mail domain.

v-schedule-letsencrypt-domain USER DOMAIN [ALIASES] [KEY_ALGO] [MAIL] [FORMAT]

Examples:

v-schedule-letsencrypt-domain admin example.com www.example.com ecdsa-256
v-schedule-letsencrypt-domain admin example.com '' ecdsa-256 yes

This function queues a Let's Encrypt certificate: the letsencrypt queue, run by cron every five minutes, issues it with v-add-letsencrypt-domain. ALIASES defaults to the aliases of the web domain, KEY_ALGO (rsa, ecdsa-256, ecdsa-384) to its current key type. MAIL=yes queues the certificate of the mail domain (no aliases) and leaves a queued web certificate of the same domain in place.

v-update-letsencrypt-ssl

Update letsencrypt ssl certificates.

v-update-letsencrypt-ssl NONE

Example:

v-update-letsencrypt-ssl

This function for renew letsencrypt expired ssl certificate for all users

DNS and DNS clusters

v-add-dns-domain

Add dns domain.

v-add-dns-domain USER DOMAIN IP [NS1] [NS2] [NS3] [NS4] [NS5] [NS6] [NS7] [NS8] [RESTART]

Example:

v-add-dns-domain admin example.com ns1.example.com ns2.example.com '' '' '' '' '' '' yes

This function adds DNS zone with records defined in the template. If the exp argument isn't stated, the expiration date value will be set to next year. The soa argument is responsible for the relevant record. By default the first user's NS server is used. TTL is set as common for the zone and for all of its records with a default value of 14400 seconds.

v-add-dns-on-web-alias

Add dns domain or dns record after web domain alias.

v-add-dns-on-web-alias USER ALIAS IP [RESTART]

Example:

v-add-dns-on-web-alias admin www.example.com 8.8.8.8

This function adds dns domain or dns record based on web domain alias.

v-add-dns-record

Add dns record.

v-add-dns-record USER DOMAIN RECORD TYPE VALUE [PRIORITY] [ID] [RESTART] [TTL]

Example:

v-add-dns-record admin acme.com www A 162.227.73.112

This function is used to add a new DNS record. Complex records of TXT, MX and SRV types can be used by a filling in the 'value' argument. This function also gets an ID parameter for definition of certain record identifiers or for the regulation of records.

v-add-remote-dns-domain

Add remote dns domain.

v-add-remote-dns-domain USER DOMAIN [FLUSH]

Example:

v-add-remote-dns-domain admin mydomain.tld yes

This function synchronise dns domain with the remote server.

v-add-remote-dns-host

Add new remote dns host.

v-add-remote-dns-host HOST PORT USER PASSWORD [TYPE] [DNS_USER]

Examples:

v-add-remote-dns-host slave.your_host.com 8083 admin your_passw0rd
v-add-remote-dns-host slave.your_host.com 8083 api_key ''

This function adds remote dns server to the dns cluster. As alternative api_key generated on the slave server. See v-generate-api-key can be used to connect the remote dns server

v-add-remote-dns-record

Add remote dns domain record.

v-add-remote-dns-record USER DOMAIN ID

Example:

v-add-remote-dns-record bob acme.com 23

This function synchronise dns domain with the remote server.

v-change-dns-domain-dnssec

Change dns domain dnssec status.

v-change-dns-domain-dnssec USER DOMAIN STATUS

Example:

v-change-dns-domain-dnssec admin domain.pp.ua yes

v-change-dns-domain-exp

Change dns domain expiration date.

v-change-dns-domain-exp USER DOMAIN EXP

Example:

v-change-dns-domain-exp admin domain.pp.ua 2020-11-20

This function of changing the term of expiration domain's registration. The serial number will be refreshed automatically during update.

v-change-dns-domain-ip

Change dns domain ip address.

v-change-dns-domain-ip USER DOMAIN IP [RESTART]

Example:

v-change-dns-domain-ip admin domain.com 123.212.111.222

This function for changing the main ip of DNS zone.

v-change-dns-domain-soa

Change dns domain soa record.

v-change-dns-domain-soa USER DOMAIN SOA [RESTART]

Example:

v-change-dns-domain-soa admin acme.com d.ns.domain.tld

This function for changing SOA record. This type of records can not be modified by v-change-dns-record call.

v-change-dns-domain-tpl

Change dns domain template.

v-change-dns-domain-tpl USER DOMAIN TEMPLATE [RESTART]

Example:

v-change-dns-domain-tpl admin example.com child-ns yes

This function for changing the template of records. By updating old records will be removed and new records will be generated in accordance with parameters of new template.

v-change-dns-domain-ttl

Change dns domain ttl.

v-change-dns-domain-ttl USER DOMAIN TTL [RESTART]

Example:

v-change-dns-domain-ttl alice example.com 14400

This function for changing the time to live TTL parameter for all records.

v-change-dns-record

Change dns domain record.

v-change-dns-record USER DOMAIN ID RECORD TYPE VALUE [PRIORITY] [RESTART] [TTL]

Example:

v-change-dns-record admin domain.ua 42 192.18.22.43

This function for changing DNS record.

v-change-dns-record-id

Change dns domain record id.

v-change-dns-record-id USER DOMAIN ID NEWID [RESTART]

Example:

v-change-dns-record-id admin acme.com 24 42 yes

This function for changing internal record id.

v-change-remote-dns-domain-exp

Change remote dns domain expiration date.

v-change-remote-dns-domain-exp USER DOMAIN

This function synchronise dns domain with the remote server.

v-change-remote-dns-domain-soa

Change remote dns domain SOA.

v-change-remote-dns-domain-soa USER DOMAIN

Example:

v-change-remote-dns-domain-soa admin example.org.uk

This function synchronise dns domain with the remote server.

v-change-remote-dns-domain-ttl

Change remote dns domain TTL.

v-change-remote-dns-domain-ttl USER DOMAIN

Example:

v-change-remote-dns-domain-ttl admin domain.tld

This function synchronise dns domain with the remote server.

v-delete-dns-domain

Delete dns domain.

v-delete-dns-domain USER DOMAIN

Example:

v-delete-dns-domain alice acme.com

This function for deleting DNS domain. By deleting it all records will also be deleted.

v-delete-dns-domains

Delete dns domains.

v-delete-dns-domains USER [RESTART]

Example:

v-delete-dns-domains bob

This function for deleting all users DNS domains.

v-delete-dns-domains-src

Delete dns domains based on SRC field.

v-delete-dns-domains-src USER SRC [RESTART]

Example:

v-delete-dns-domains-src admin '' yes

This function for deleting DNS domains related to a certain host.

v-delete-dns-on-web-alias

Delete dns domain or dns record based on web domain alias.

v-delete-dns-on-web-alias USER DOMAIN ALIAS [RESTART]

Example:

v-delete-dns-on-web-alias admin example.com www.example.com

This function deletes dns domain or dns record based on web domain alias.

v-delete-dns-record

Delete dns record.

v-delete-dns-record USER DOMAIN ID [RESTART]

Example:

v-delete-dns-record bob acme.com 42 yes

This function for deleting a certain record of DNS zone.

v-delete-remote-dns-domain

Delete remote dns domain.

v-delete-remote-dns-domain USER DOMAIN

Example:

v-delete-remote-dns-domain admin example.tld

This function synchronise dns with the remote server.

v-delete-remote-dns-domains

Delete remote dns domains.

v-delete-remote-dns-domains [HOST]

This function deletes remote dns domains.

v-delete-remote-dns-host

Delete remote dns host.

v-delete-remote-dns-host HOST

Example:

v-delete-remote-dns-host example.org

This function for deleting the remote dns host from arcpanel configuration.

v-delete-remote-dns-record

Delete remote dns domain record.

v-delete-remote-dns-record USER DOMAIN ID

Example:

v-delete-remote-dns-record user07 acme.com 44

This function synchronise dns with the remote server.

v-get-dns-domain-value

Get dns domain value.

v-get-dns-domain-value USER DOMAIN KEY

Example:

v-get-dns-domain-value admin example.com SOA

This function for getting a certain DNS domain parameter.

v-insert-dns-domain

Insert dns domain.

v-insert-dns-domain USER DATA [SRC] [FLUSH] #

This function inserts raw record to the dns.conf

v-insert-dns-record

Insert dns record.

v-insert-dns-record USER DOMAIN DATA

This function inserts raw dns record to the domain conf

v-insert-dns-records

Inserts dns records.

v-insert-dns-records USER DOMAIN DATA_FILE

This function copy dns record to the domain conf

v-list-dns-domain

List dns domain.

v-list-dns-domain USER DOMAIN [FORMAT]

Example:

v-list-dns-domain alice wonderland.com

This function of obtaining the list of dns domain parameters.

v-list-dns-domains

List dns domains.

v-list-dns-domains USER [FORMAT]

Example:

v-list-dns-domains admin

This function for obtaining all DNS domains of a user.

v-list-dns-records

List dns domain records.

v-list-dns-records USER DOMAIN [FORMAT]

Example:

v-list-dns-records admin example.com

This function for getting all DNS domain records.

v-list-dns-template

List dns template.

v-list-dns-template TEMPLATE [FORMAT]

Example:

v-list-dns-template zoho

This function for obtaining the DNS template parameters.

v-list-dns-templates

List dns templates.

v-list-dns-templates [FORMAT]

Example:

v-list-dns-templates json

This function for obtaining the list of all DNS templates available.

v-list-dnssec-public-key

List public dnssec key.

v-list-dnssec-public-key USER DOMAIN [FORMAT]

Example:

v-list-dnssec-public-key admin acme.com

This function list the public key to be used with DNSSEC and needs to be added to the domain register.

v-list-remote-dns-hosts

List remote dns host.

v-list-remote-dns-hosts [FORMAT]

Example:

v-list-remote-dns-hosts json

This function for obtaining the list of remote dns host.

v-rebuild-dns-domain

Rebuild dns domain.

v-rebuild-dns-domain USER DOMAIN [RESTART] [UPDATE_SERIAL]

Example:

v-rebuild-dns-domain alice wonderland.com

This function rebuilds DNS configuration files.

v-rebuild-dns-domains

Rebuild dns domains.

v-rebuild-dns-domains USER [RESTART] [UPDATE_SERIAL]

Example:

v-rebuild-dns-domains alice

This function rebuilds DNS configuration files.

v-restart-dns

Restart dns service.

v-restart-dns NONE

Example:

v-restart-dns

This function tells BIND service to reload dns zone files.

v-suspend-dns-domain

Suspend dns domain.

v-suspend-dns-domain USER DOMAIN [RESTART]

Example:

v-suspend-dns-domain alice acme.com

This function suspends a certain user's domain.

v-suspend-dns-domains

Suspend dns domains.

v-suspend-dns-domains USER [RESTART]

Example:

v-suspend-dns-domains admin yes

This function suspends all user's DNS domains.

v-suspend-dns-record

Suspend dns domain record.

v-suspend-dns-record USER DOMAIN ID [RESTART]

Example:

v-suspend-dns-record alice wonderland.com 42 yes

This function suspends a certain domain record.

v-suspend-remote-dns-host

Suspend remote dns server.

v-suspend-remote-dns-host HOST

Example:

v-suspend-remote-dns-host hostname.tld

This function for suspending remote dns server.

v-sync-dns-cluster

Synchronize dns domains.

v-sync-dns-cluster HOST

This function synchronise all dns domains.

v-unsuspend-dns-domain

Unsuspend dns domain.

v-unsuspend-dns-domain USER DOMAIN

Example:

v-unsuspend-dns-domain alice wonderland.com

This function unsuspends a certain user's domain.

v-unsuspend-dns-domains

Unsuspend dns domains.

v-unsuspend-dns-domains USER [RESTART]

Example:

v-unsuspend-dns-domains alice

This function unsuspends all user's DNS domains.

v-unsuspend-dns-record

Unsuspend dns domain record.

v-unsuspend-dns-record USER DOMAIN ID [RESTART]

Example:

v-unsuspend-dns-record admin example.com 33

This function unsuspends a certain domain record.

v-unsuspend-remote-dns-host

Unsuspend remote dns server.

v-unsuspend-remote-dns-host HOST

Example:

v-unsuspend-remote-dns-host hosname.com

This function for unsuspending remote dns server.

v-update-dns-templates

Update dns templates.

v-update-dns-templates [RESTART]

Example:

v-update-dns-templates

This function for obtaining updated dns templates from ArcPanel package.

Mail

v-add-mail-account

Add mail domain account.

v-add-mail-account USER DOMAIN ACCOUNT PASSWORD [QUOTA]

Example:

v-add-mail-account user example.com john P4$$vvOrD

This function add new email account.

v-add-mail-account-alias

Add mail account alias aka nickname.

v-add-mail-account-alias USER DOMAIN ACCOUNT ALIAS

Example:

v-add-mail-account-alias admin acme.com alice alicia

This function add new email alias.

v-add-mail-account-autoreply

Add mail account autoreply message.

v-add-mail-account-autoreply USER DOMAIN ACCOUNT MESSAGE

Example:

v-add-mail-account-autoreply admin example.com user Hello from e-mail!

This function add new email account.

v-add-mail-account-forward

Add mail account forward address.

v-add-mail-account-forward USER DOMAIN ACCOUNT FORWARD

Example:

v-add-mail-account-forward admin acme.com alice bob

This function add new email account.

v-add-mail-account-fwd-only

Add mail account forward-only flag.

v-add-mail-account-fwd-only USER DOMAIN ACCOUNT

Example:

v-add-mail-account-fwd-only admin example.com user

This function adds fwd-only flag

v-add-mail-account-sso

Start a webmail sign-on for a mail account.

v-add-mail-account-sso USER DOMAIN ACCOUNT ACTOR CLIENT_IP

Example:

v-add-mail-account-sso admin example.com info admin 203.0.113.5

This function prints a ticket that signs the browser at CLIENT_IP into Roundcube as ACCOUNT@DOMAIN without the account password: valid for 60 seconds and once. ACTOR is the panel user who asked for it; the sign-on is written to the action log of USER.

v-add-mail-domain

Add mail domain.

v-add-mail-domain USER DOMAIN [ANTISPAM] [ANTIVIRUS] [DKIM] [DKIM_SIZE] [RESTART] [REJECT_SPAM]

Example:

v-add-mail-domain admin mydomain.tld

This function adds MAIL domain.

v-add-mail-domain-antispam

Add mail domain antispam support.

v-add-mail-domain-antispam USER DOMAIN

Example:

v-add-mail-domain-antispam admin mydomain.tld

This function enables spamassasin for incoming emails.

v-add-mail-domain-antivirus

Add mail domain antivirus support.

v-add-mail-domain-antivirus USER DOMAIN

Example:

v-add-mail-domain-antivirus admin mydomain.tld

This function enables clamav scan for incoming emails.

v-add-mail-domain-catchall

Add mail domain catchall account.

v-add-mail-domain-catchall USER DOMAIN EMAIL

Example:

v-add-mail-domain-catchall admin example.com master@example.com

This function enables catchall account for incoming emails.

v-add-mail-domain-dkim

Add mail domain dkim support.

v-add-mail-domain-dkim USER DOMAIN [DKIM_SIZE]

Example:

v-add-mail-domain-dkim admin acme.com

This function adds DKIM signature to outgoing domain emails.

v-add-mail-domain-reject

Add mail domain reject spam support.

v-add-mail-domain-reject USER DOMAIN

Example:

v-add-mail-domain-reject admin mydomain.tld

labels: mail

The function enables spam rejection for incoming emails.

v-add-mail-domain-smtp-relay

Add mail domain smtp relay support.

v-add-mail-domain-smtp-relay USER DOMAIN HOST [USERNAME] [PASSWORD] [PORT]

Example:

v-add-mail-domain-smtp-relay user domain.tld srv.smtprelay.tld uname123 pass12345

This function adds mail domain smtp relay support.

v-add-mail-domain-ssl

Add mail SSL for $domain.

v-add-mail-domain-ssl USER DOMAIN SSL_DIR [RESTART]

This function turns on SSL support for a mail domain. Parameter ssl_dir is a path to a directory where 2 or 3 ssl files can be found. Certificate file mail.domain.tld.crt and its key mail.domain.tld.key are mandatory. Certificate authority mail.domain.tld.ca file is optional.

v-add-mail-domain-webmail

Add webmail support for a domain.

v-add-mail-domain-webmail USER DOMAIN [WEBMAIL] [RESTART] [QUIET]

Examples:

v-add-mail-domain-webmail user domain.com
v-add-mail-domain-webmail user domain.com snappymail
v-add-mail-domain-webmail user domain.com roundcube

This function enables webmail client for a mail domain.

v-change-mail-account-password

Change mail account password.

v-change-mail-account-password USER DOMAIN ACCOUNT PASSWORD

Example:

v-change-mail-account-password admin mydomain.tld user p4$$vvOrD

This function changes email account password.

v-change-mail-account-quota

Change mail account quota.

v-change-mail-account-quota USER DOMAIN ACCOUNT QUOTA

Example:

v-change-mail-account-quota admin mydomain.tld user01 unlimited

This function changes email account disk quota.

v-change-mail-account-rate-limit

Change mail account rate limit.

v-change-mail-account-rate-limit USER DOMAIN ACCOUNT RATE

Example:

v-change-mail-account-rate-limit admin mydomain.tld user01 100

This function changes email account rate limit. Use system to use domain or "server" setting

v-change-mail-domain-catchall

Change mail domain catchall email.

v-change-mail-domain-catchall USER DOMAIN EMAIL

Example:

v-change-mail-domain-catchall user01 mydomain.tld master@mydomain.tld

This function changes mail domain catchall.

v-change-mail-domain-rate-limit

Change mail domain rate limit.

v-change-mail-domain-rate-limit USER DOMAIN RATE

Example:

v-change-mail-domain-rate-limit admin mydomain.tld 100

This function changes email account rate limit for the domain. Account specific setting will overwrite domain setting!

v-change-mail-domain-sslcert

Change domain ssl certificate.

v-change-mail-domain-sslcert USER DOMAIN SSL_DIR [RESTART]

This function changes SSL domain certificate and the key. If ca file present it will be replaced as well.

v-check-mail-account-hash

Check user password.

v-check-mail-account-hash TYPE PASSWORD HASH

Example:

v-check-mail-account-hash ARGONID2 PASS HASH

This function verifies email account password hash

v-check-mail-account-sso

Exchange a webmail sign-on ticket for a session password.

v-check-mail-account-sso TICKET_FILE CLIENT_IP [FORMAT]

Example:

v-check-mail-account-sso /tmp/ticket 203.0.113.5 json

This function consumes the ticket in TICKET_FILE (written by the panel) and prints the address and a new session password of the mail account, which Dovecot accepts from the loopback address only for 8 hours. The ticket must be valid, unused and issued for CLIENT_IP, and the account, its domain and its user must not be suspended since.

v-delete-mail-account

Delete mail account.

v-delete-mail-account USER DOMAIN ACCOUNT

Example:

v-delete-mail-account admin acme.com alice

This function deletes email account.

v-delete-mail-account-alias

Delete mail account alias aka nickname.

v-delete-mail-account-alias USER DOMAIN ACCOUNT ALIAS

Example:

v-delete-mail-account-alias admin example.com alice alicia

This function deletes email account alias.

v-delete-mail-account-autoreply

Delete mail account autoreply message.

v-delete-mail-account-autoreply USER DOMAIN ACCOUNT ALIAS

Example:

v-delete-mail-account-autoreply admin mydomain.tld bob

This function deletes an email accounts autoreply.

v-delete-mail-account-forward

Delete mail account forward.

v-delete-mail-account-forward USER DOMAIN ACCOUNT EMAIL

Example:

v-delete-mail-account-forward admin acme.com tony bob@acme.com

This function deletes an email accounts forwarding address.

v-delete-mail-account-fwd-only

Delete mail account forward-only flag.

v-delete-mail-account-fwd-only USER DOMAIN ACCOUNT

Example:

v-delete-mail-account-fwd-only admin example.com jack

This function deletes fwd-only flag

v-delete-mail-account-sso

End the webmail sign-on sessions of a mail account or domain.

v-delete-mail-account-sso DOMAIN [ACCOUNT]

Example:

v-delete-mail-account-sso example.com info

This function removes the session password of ACCOUNT@DOMAIN, or of every account of DOMAIN, so that Roundcube asks for the password again. The mail commands run it when a password, a status or an owner changes.

v-delete-mail-domain

Delete mail domain.

v-delete-mail-domain USER DOMAIN

Example:

v-delete-mail-domain admin mydomain.tld

This function for deleting MAIL domain. By deleting it all accounts will also be deleted.

v-delete-mail-domain-antispam

Delete mail domain antispam support.

v-delete-mail-domain-antispam USER DOMAIN

Example:

v-delete-mail-domain-antispam admin mydomain.tld

This function disable spamassasin for incoming emails.

v-delete-mail-domain-antivirus

Delete mail domain antivirus support.

v-delete-mail-domain-antivirus USER DOMAIN

Example:

v-delete-mail-domain-antivirus admin mydomain.tld

This function disables clamav scan for incoming emails.

v-delete-mail-domain-catchall

Delete mail domain catchall email.

v-delete-mail-domain-catchall USER DOMAIN

Example:

v-delete-mail-domain-catchall admin mydomain.tld

This function disables mail domain cathcall.

v-delete-mail-domain-dkim

Delete mail domain dkim support.

v-delete-mail-domain-dkim USER DOMAIN

Example:

v-delete-mail-domain-dkim admin mydomain.tld

This function delete DKIM domain pem.

v-delete-mail-domain-reject

Delete mail domain reject spam support.

v-delete-mail-domain-reject USER DOMAIN

Example:

v-delete-mail-domain-reject admin mydomain.tld

labels: mail

The function disables spam rejection for incoming emails.

v-delete-mail-domain-smtp-relay

Remove mail domain smtp relay support.

v-delete-mail-domain-smtp-relay USER DOMAIN

Example:

v-delete-mail-domain-smtp-relay user domain.tld

This function removes mail domain smtp relay support.

v-delete-mail-domain-ssl

Delete mail domain ssl support.

v-delete-mail-domain-ssl USER DOMAIN

Example:

v-delete-mail-domain-ssl user demo.com

This function delete ssl certificates.

v-delete-mail-domain-webmail

Delete webmail support for a domain.

v-delete-mail-domain-webmail USER DOMAIN [RESTART] [QUIET]

Example:

v-delete-mail-domain-webmail user demo.com

This function removes support for webmail from a specified mail domain.

v-delete-mail-domains

Delete mail domains.

v-delete-mail-domains USER

Example:

v-delete-mail-domains admin

This function for deleting all users mail domains.

v-get-mail-account-value

Get mail account value.

v-get-mail-account-value USER DOMAIN ACCOUNT KEY

Example:

v-get-mail-account-value admin example.tld tester QUOTA

This function for getting a certain mail account parameter.

v-get-mail-domain-value

Get mail domain value.

v-get-mail-domain-value USER DOMAIN KEY

Example:

v-get-mail-domain-value admin example.com DKIM

This function for getting a certain mail domain parameter.

v-list-mail-account

List mail domain account.

v-list-mail-account USER DOMAIN ACCOUNT [FORMAT]

Example:

v-list-mail-account admin domain.tld tester

This function of obtaining the list of account parameters.

v-list-mail-account-autoreply

List mail account autoreply.

v-list-mail-account-autoreply USER DOMAIN ACCOUNT [FORMAT]

Example:

v-list-mail-account-autoreply admin example.com testing

This function of obtaining mail account autoreply message.

v-list-mail-accounts

List mail domain accounts.

v-list-mail-accounts USER DOMAIN [FORMAT]

Example:

v-list-mail-accounts admin acme.com

This function of obtaining the list of all user domains.

v-list-mail-domain

List mail domain.

v-list-mail-domain USER DOMAIN [FORMAT]

Example:

v-list-mail-domain user01 mydomain.com

This function of obtaining the list of domain parameters.

v-list-mail-domain-dkim

List mail domain dkim.

v-list-mail-domain-dkim USER DOMAIN [FORMAT]

Example:

v-list-mail-domain-dkim admin maildomain.tld

This function of obtaining domain dkim files.

v-list-mail-domain-dkim-dns

List mail domain dkim dns records.

v-list-mail-domain-dkim-dns USER DOMAIN [FORMAT]

Example:

v-list-mail-domain-dkim-dns admin example.com

This function of obtaining domain dkim dns records for proper setup.

v-list-mail-domain-ssl

List mail domain ssl certificate.

v-list-mail-domain-ssl USER DOMAIN [FORMAT]

Example:

v-list-mail-domain-ssl user acme.com json

This function of obtaining domain ssl files.

v-list-mail-domains

List mail domains.

v-list-mail-domains USER [FORMAT]

Example:

v-list-mail-domains admin

This function of obtaining the list of all user domains.

v-rebuild-mail-domain

Rebuild mail domain.

v-rebuild-mail-domain USER DOMAIN

Example:

v-rebuild-mail-domain user domain.tld

This function rebuilds configuration files for a single domain.

v-rebuild-mail-domains

Rebuild mail domains.

v-rebuild-mail-domains USER

Example:

v-rebuild-mail-domains admin

This function rebuilds EXIM configuration files for all mail domains.

v-restart-mail

Restart mail service.

v-restart-mail [RESTART]

Example:

v-restart-mail

This function tells exim or dovecot services to reload configuration files.

v-suspend-mail-account

Suspend mail account.

v-suspend-mail-account USER DOMAIN ACCOUNT

Example:

v-suspend-mail-account admin acme.com bob

This function suspends mail account.

v-suspend-mail-accounts

Suspend all mail domain accounts.

v-suspend-mail-accounts USER DOMAIN

Example:

v-suspend-mail-accounts admin example.com

This function suspends all mail domain accounts.

v-suspend-mail-domain

Suspend mail domain.

v-suspend-mail-domain USER DOMAIN

Example:

v-suspend-mail-domain admin domain.com

This function suspends mail domain.

v-suspend-mail-domains

Suspend mail domains.

v-suspend-mail-domains USER

Example:

v-suspend-mail-domains admin

This function suspends all user's MAIL domains.

v-unsuspend-mail-account

Unsuspend mail account.

v-unsuspend-mail-account USER DOMAIN ACCOUNT

Example:

v-unsuspend-mail-account admin acme.com tester

This function unsuspends mail account.

v-unsuspend-mail-accounts

Unsuspend all mail domain accounts.

v-unsuspend-mail-accounts USER DOMAIN

Example:

v-unsuspend-mail-accounts admin acme.com

This function unsuspends all mail domain accounts.

v-unsuspend-mail-domain

Unsuspend mail domain.

v-unsuspend-mail-domain USER DOMAIN

Example:

v-unsuspend-mail-domain user02 acme.com

This function unsuspends mail domain.

v-unsuspend-mail-domains

Unsuspend mail domains.

v-unsuspend-mail-domains USER

Example:

v-unsuspend-mail-domains admin

This function unsuspends all user's MAIL domains.

v-update-mail-domain-disk

Update mail domain disk usage.

v-update-mail-domain-disk USER DOMAIN

Example:

v-update-mail-domain-disk admin example.com

This function updates domain disk usage.

v-update-mail-domain-ssl

Updating ssl certificate for domain.

v-update-mail-domain-ssl USER DOMAIN SSL_DIR [RESTART]

Example:

v-update-mail-domain-ssl admin domain.com /home/admin/tmp

This function updates the SSL certificate for a domain. Parameter ssl_dir is a path to directory where 2 or 3 ssl files can be found. Certificate file domain.tld.crt and its key domain.tld.key are mandatory. Certificate authority domain.tld.ca file is optional.

v-update-mail-domains-disk

Calculate disk usage for all mail domains.

v-update-mail-domains-disk USER

Example:

v-update-mail-domains-disk admin

This function calculates disk usage for all mail domains.

v-update-mail-sso

Remove expired webmail sign-on sessions and tickets.

v-update-mail-sso NONE

Example:

v-update-mail-sso

This function removes the session passwords and the tickets of webmail sign-ons that have expired. Cron runs it every 5 minutes.

v-update-mail-templates

Update mail templates.

v-update-mail-templates [RESTART] [SKIP]

Example:

v-update-mail-templates

This function for obtaining updated webmail templates from ArcPanel package.

Databases

v-add-database

Add database.

v-add-database USER DATABASE DBUSER DBPASS [TYPE] [HOST] [CHARSET]

Example:

v-add-database admin wordpress_db matt qwerty123

This function creates the database concatenating username and user_db. Supported types of databases you can get using v-list-sys-config script. If the host isn't stated and there are few hosts configured on the server, then the host will be defined by one of three algorithms. "First" will choose the first host in the list. "Random" will chose the host by a chance. "Weight" will distribute new database through hosts evenly. Algorithm and types of supported databases is designated in the main configuration file.

v-add-database-host

Add new database server.

v-add-database-host TYPE HOST DBUSER DBPASS [MAX_DB] [CHARSETS] [TEMPLATE] [PORT]

Example:

v-add-database-host mysql localhost alice p@$$wOrd

This function add new database server to the server pool. It supports local and remote database servers, which is useful for clusters. By adding a host you can set limit for number of databases on a host. Template parameter is used only for PostgreSQL and has an default value "template1". You can read more about templates in official PostgreSQL documentation.

v-add-database-temp-user

Add temp database user.

v-add-database-temp-user USER DATABASE [TYPE] [HOST] [TTL]

Example:

v-add-database-temp-user wordress wordpress_db mysql

This function creates an temporary database user mysql_sso_db_XXXXXXXX and a random password The user has an limited validity and only granted access to the specific database Returns json to be read SSO Script

v-change-database-host-password

Change database server password.

v-change-database-host-password TYPE HOST USER PASSWORD

Example:

v-change-database-host-password mysql localhost wp_user pA$$w@rD

This function changes database server password.

v-change-database-owner

Change database owner.

v-change-database-owner DATABASE USER

Example:

v-change-database-owner mydb alice

This function for changing database owner.

v-change-database-password

Change database password.

v-change-database-password USER DATABASE DBPASS

Example:

v-change-database-password admin wp_db neW_pAssWorD

This function for changing database user password to a database. It uses the full name of database as argument.

v-change-database-user

Change database username.

v-change-database-user USER DATABASE DBUSER [DBPASS]

Example:

v-change-database-user admin my_db joe_user

This function for changing database user. It uses the

v-delete-database

Delete database.

v-delete-database USER DATABASE

Example:

v-delete-database admin wp_db

This function for deleting the database. If database user have access to another database, he will not be deleted.

v-delete-database-host

Delete database server.

v-delete-database-host TYPE HOST

Example:

v-delete-database-host pgsql localhost

This function for deleting the database host from arcpanel configuration. It will be deleted if there are no databases created on it only.

v-delete-database-temp-user

Deletes temp database user.

v-delete-database-temp-user USER DBUSER [TYPE] [HOST]

Example:

v-delete-database-temp-user wordpress arcpanel_sso_user mysql

Revokes "temp user" access to a database and removes the user To be used in combination with v-add-database-temp-user

v-delete-databases

Delete user databases.

v-delete-databases USER

Example:

v-delete-databases admin

This function deletes all user databases.

v-dump-database

Dumps database contents in STDIN or file optional file can be compressed.

v-dump-database USER DATABASE [FILE] [COMPRESSION]

Examples:

v-dump-database user user_databse > test.sql
v-dump-database user user_databse file gzip
v-dump-database user user_databse file zstd

Dumps database in STDIN or file (/backup/user.database.type.sql) For compression gzip or zstd is supported by default plain sql is used

v-import-database

Import database.

v-import-database USER DB PATH

Example:

v-import-database alice mydb /full/path/to.sql

This function for importing database.

v-list-database

List database.

v-list-database USER DATABASE [FORMAT]

Example:

v-list-database wp_db

This function for obtaining of all database's parameters.

v-list-database-host

List database host.

v-list-database-host TYPE HOST [FORMAT]

Example:

v-list-database-host mysql localhost

This function for obtaining database host parameters.

v-list-database-hosts

List database hosts.

v-list-database-hosts [FORMAT]

Example:

v-list-database-hosts json

This function for obtaining the list of all configured database hosts.

v-list-database-types

List supported database types.

v-list-database-types [FORMAT]

Example:

v-list-database-types json

This function for obtaining the list of database types.

v-list-databases

Listing databases.

v-list-databases USER [FORMAT]

Example:

v-list-databases user json

This function for obtaining the list of all user's databases.

v-rebuild-database

Rebuild databases.

v-rebuild-database USER DATABASE

Example:

v-rebuild-database user user_wordpress

This function for rebuilding a single database for a user

v-rebuild-databases

Rebuild databases.

v-rebuild-databases USER

Example:

v-rebuild-databases admin

This function for rebuilding of all databases of a single user.

v-suspend-database

Suspend database.

v-suspend-database USER DATABASE

Example:

v-suspend-database admin admin_wordpress_db

This function for suspending a certain user database.

v-suspend-database-host

Suspend database server.

v-suspend-database-host TYPE HOST

Example:

v-suspend-database-host mysql localhost

This function for suspending a database server.

v-suspend-databases

Suspend databases.

v-suspend-databases USER

Example:

v-suspend-databases admin

This function for suspending of all databases of a single user.

v-unsuspend-database

Unsuspend database.

v-unsuspend-database USER DATABASE

Example:

v-unsuspend-database admin mydb

This function for unsuspending database.

v-unsuspend-database-host

Unsuspend database server.

v-unsuspend-database-host TYPE HOST

Example:

v-unsuspend-database-host mysql localhost

This function for unsuspending a database server.

v-unsuspend-databases

Unsuspend databases.

v-unsuspend-databases USER

This function for unsuspending all user's databases.

v-update-database-disk

Update database disk usage.

v-update-database-disk USER DATABASE

Example:

v-update-database-disk admin wp_db

This function recalculates disk usage for specific database.

v-update-databases-disk

Update databases disk usage.

v-update-databases-disk USER

Example:

v-update-databases-disk admin

This function recalculates disk usage for all user databases.

Cron jobs

v-add-cron-arcpanel-autoupdate

Add cron job for arcpanel automatic updates.

v-add-cron-arcpanel-autoupdate MODE

This function adds a cronjob for arcpanel automatic updates that can be downloaded from apt or git. The apt line runs v-update-sys-arcpanel-all auto at a random night time; an existing apt line is brought to that form: auto is added, and the fixed time 41 4 of older installs is replaced.

v-add-cron-job

Add cron job.

v-add-cron-job USER MIN HOUR DAY MONTH WDAY CRON_COMMAND [JOB] [RESTART]

Example:

v-add-cron-job admin * * * * * sudo /usr/local/arcpanel/bin/v-backup-users

This function adds a job to cron daemon. When executing commands, any output is mailed to user's email if parameter REPORTS is set to 'yes'.

v-add-cron-letsencrypt-job

Add cron job for Let's Encrypt certificates.

v-add-cron-letsencrypt-job NONE

This function adds a new cron job for Let's Encrypt.

v-add-cron-reports

Add cron reports.

v-add-cron-reports USER

Example:

v-add-cron-reports admin

This function for enabling reports on cron tasks and administrative notifications.

v-add-cron-restart-job

Add cron reports.

v-add-cron-restart-job NONE

This function for enabling restart cron tasks

v-change-cron-job

Change cron job.

v-change-cron-job USER JOB MIN HOUR DAY MONTH WDAY CRON_COMMAND

Example:

v-change-cron-job admin 7 * * * * * /usr/bin/uptime

This function is used for changing existing job. It fully replace job parameters with new one but with same id.

v-delete-cron-arcpanel-autoupdate

Delete arcpanel autoupdate cron job.

v-delete-cron-arcpanel-autoupdate NONE

This function deletes arcpanel autoupdate cron job.

v-delete-cron-job

Delete cron job.

v-delete-cron-job USER JOB

Example:

v-delete-cron-job admin 9

This function deletes cron job.

v-delete-cron-reports

Delete cron reports.

v-delete-cron-reports USER

Example:

v-delete-cron-reports admin

This function for disabling reports on cron tasks and administrative notifications.

v-delete-cron-restart-job

Delete restart job.

v-delete-cron-restart-job NONE

This function for disabling restart cron tasks

v-list-cron-job

List cron job.

v-list-cron-job USER JOB [FORMAT]

Example:

v-list-cron-job admin 7

This function of obtaining cron job parameters.

v-list-cron-jobs

List user cron jobs.

v-list-cron-jobs USER [FORMAT]

Example:

v-list-cron-jobs admin

This function for obtaining the list of all users cron jobs.

v-rebuild-cron-jobs

Rebuild cron jobs.

v-rebuild-cron-jobs USER [RESTART]

Example:

v-rebuild-cron-jobs admin yes

This function rebuilds system cron config file for specified user.

v-restart-cron

Restart cron service.

v-restart-cron NONE

Example:

v-restart-cron

This function tells crond service to reread its configuration files.

v-suspend-cron-job

Suspend cron job.

v-suspend-cron-job USER JOB [RESTART]

Example:

v-suspend-cron-job admin 5 yes

This function suspends a certain job of the cron scheduler.

v-suspend-cron-jobs

Suspending sys cron jobs.

v-suspend-cron-jobs USER [RESTART]

Example:

v-suspend-cron-jobs admin

This function suspends all user cron jobs.

v-unsuspend-cron-job

Unsuspend cron job.

v-unsuspend-cron-job USER JOB [RESTART]

Example:

v-unsuspend-cron-job admin 7 yes

This function unsuspend certain cron job.

v-unsuspend-cron-jobs

Unsuspend sys cron.

v-unsuspend-cron-jobs USER [RESTART]

Example:

v-unsuspend-cron-jobs admin no

This function unsuspends all suspended cron jobs.

Backups

v-add-backup-host

Add backup host.

v-add-backup-host TYPE HOST USERNAME PASSWORD [PATH] [PORT]

Example:

v-add-backup-host sftp backup.acme.com admin 'P4$$w@rD'

v-add-backup-host b2 bucketName keyID applicationKey

Add a new remote backup location. Currently SFTP, FTP and Backblaze are supported

v-add-backup-host-restic

Add backup host.

v-add-backup-host-restic TYPE HOST USERNAME PASSWORD [PATH] [PORT]

Example:

v-add-backup-host sftp backup.acme.com admin 'P4$$w@rD'

v-add-backup-host b2 bucketName keyID applicationKey

Add a new remote backup location. Currently SFTP, FTP and Backblaze are supported

v-backup-docker-apps

Dump the databases of Docker apps before a backup.

v-backup-docker-apps USER|all [NAME]

Examples:

v-backup-docker-apps all
v-backup-docker-apps alice miniflux

This function runs the dump commands that the catalog manifests declare (for example pg_dump) in the running Docker apps of USER, or of every user with "all", and writes their output as the user to ~/apps/<name>/data/.dumps/, so that the nightly backup holds a consistent copy of each database. data/.dumps/.last records the time of the last complete dump. It runs from cron 15 minutes before v-backup-users.

v-backup-user

Backup system user with all its objects.

v-backup-user USER NOTIFY

Example:

v-backup-user admin yes

This function is used for backing up user with all its domains and databases.

v-backup-user-config

Backup system user config only.

v-backup-user-config USER NOTIFY

Example:

v-backup-user admin yes

This function is used for backing up user with all its domains and databases. The configuration is staged in a working folder of root and then copied into ~/backup as the user, where the restic backup of the home picks it up: root never writes into the user's home.

v-backup-user-restic

Backup system user with all its objects to restic backup.

v-backup-user-restic USER NOTIFY

Example:

v-backup-user-restic admin yes

Backup user with all its objects to restic backup. If the repo doesn't exists a new one will be created.

v-backup-users

Backup all users.

v-backup-users NONE

Example:

v-backup-users

This function backups all system users.

v-backup-users-restic

Backup all users.

v-backup-users-restic NONE

Example:

v-backup-users

This function backups all system users.

v-delete-backup-host

Delete backup ftp server.

v-delete-backup-host TYPE [HOST]

Example:

v-delete-backup-host sftp

This function deletes ftp backup host

v-delete-backup-host-restic

Delete backup ftp server.

v-delete-backup-host-restic [NONE]

Example:

v-delete-backup-host sftp

This function deletes ftp backup host

v-download-backup

Download backup.

v-download-backup USER BACKUP

Example:

v-download-backup admin admin.2020-11-05_05-10-21.tar

This function download back-up from remote server

v-list-backup-host

List backup host.

v-list-backup-host TYPE [FORMAT]

Example:

v-list-backup-host local

This function for obtaining the list of backup host parameters.

v-list-backup-host-restic

List backup host.

v-list-backup-host-restic TYPE [FORMAT]

Example:

v-list-backup-host local

This function for obtaining the list of backup host parameters.

v-restore-cron-job

Restore single cron job.

v-restore-cron-job USER BACKUP DOMAIN [NOTIFY]

Example:

v-restore-cron-job USER BACKUP CRON [NOTIFY]

This function allows the user to restore a single cron job from a backup archive.

v-restore-cron-job-restic

Restore single cron job.

v-restore-cron-job-restic USER SNAPSHOT [NOTIFY]

Example:

v-restore-cron-job USER BACKUP [NOTIFY]

This function allows the user to restore a cron jobs from a snapshot. The jobs are read from the snapshot as untrusted records: each line is rebuilt from the known keys.

v-restore-database

Restore single database.

v-restore-database USER BACKUP DATABASE [NOTIFY]

Example:

v-restore-database USER BACKUP DATABASE [NOTIFY]

This function allows the user to restore a single database from a backup archive.

v-restore-database-restic

Restore Database.

v-restore-database-restic USER SNAPSHOT DATABASE

Examples:

v-restore-database-restic user snapshot user_database
v-restore-database-restic user snapshot 'user_database,user_database2'
v-restore-database-restic user snapshot '*'

This function for restoring database from restic snapshot. The records and dumps of a snapshot are untrusted: names must carry the user's prefix, and the dump is imported with an account limited to the database.

v-restore-dns-domain

Restore single dns domain.

v-restore-dns-domain USER BACKUP DOMAIN [NOTIFY]

Example:

v-restore-dns-domain USER BACKUP DOMAIN [NOTIFY]

This function allows the user to restore a single DNS domain from a backup archive.

v-restore-dns-domain-restic

Restore DNS domain.

v-restore-dns-domain-restic USER SNAPSHOT DOMAIN

Example:

v-restore-dns-domain-restic user snapshot domain.com

This function for restoring DNS domains from restic snapshot. Names and records read from the snapshot are validated and rebuilt.

v-restore-file-restic

Restore a file or folder from a restic snapshot.

v-restore-file-restic USER SNAPSHOT PATH [NOTIFY]

Example:

v-restore-file-restic alice 4f2a91c0 /home/alice/web/example.com/public_html/index.php

This function restores PATH, a file or folder in the home directory of USER, from a restic snapshot. restic restores into a working folder of root; the user copies the result into the home, so the files belong to the user and nothing outside the user's permissions is written. The restore overwrites the current file.

v-restore-mail-domain

Restore single mail domain.

v-restore-mail-domain USER BACKUP DOMAIN [NOTIFY]

Example:

v-restore-mail-domain USER BACKUP DOMAIN [NOTIFY]

This function allows the user to restore a single mail domain from a backup archive.

v-restore-mail-domain-restic

Restore mail domain.

v-restore-mail-domain-restic USER SNAPSHOT DOMAIN [NOTIFY]

Examples:

v-restore-mail-domain-restic user snapshot domain.com
v-restore-mail-domain-restic user snapshot 'domain.com,domain2.com'
v-restore-mail-domain-restic user snapshot '*'

This function for restoring mail domains from restic snapshot. Names, records and certificates read from the snapshot are validated; the mailboxes are copied into the home as the user.

v-restore-user

Restore user.

v-restore-user USER BACKUP [WEB] [DNS] [MAIL] [DB] [CRON] [UDIR] [NOTIFY]

Example:

v-restore-user admin 2019-04-22_01-00-00.tar

This function for restoring user from backup. To be able to restore the backup, the archive needs to be placed in /backup. Root unpacks the archive in a working folder of its own; names and records read from it are validated, and the user's files are unpacked into the home by the user.

v-restore-user-full-restic

Restore user via Restic.

v-restore-user-full-restic USER SNAPSHOT KEY

Example:

v-restore-user-full-restic user snapshot key

Full user restore from a non existing user

v-restore-user-malware-quarantine

Put a quarantined file of a user back in place.

v-restore-user-malware-quarantine USER ID

Example:

v-restore-user-malware-quarantine alice 17602000001234

This function writes a quarantined file back to its path, as the user and with its mode, and removes it from the quarantine. It refuses when a file exists at that path (E_EXISTS) or its folder is gone (E_NOTEXIST). The next scan reports the file again unless the user ignores it.

v-restore-user-restic

Restore user via Restic.

v-restore-user-restic USER SNAPSHOT WEB DNS MAIL DB CRON UDIR

Example:

v-restore-user-restic user snapshot

This function for restoring a user from restic snapshot: domains, databases and cron jobs through their own commands, then the user's own folders, copied into the home as the user.

v-restore-web-domain

Restore single web domain.

v-restore-web-domain USER BACKUP DOMAIN [NOTIFY]

Example:

v-restore-web-domain USER BACKUP DOMAIN [NOTIFY]

This function allows the user to restore a single web domain from a backup archive.

v-restore-web-domain-restic

Restore WEB domain.

v-restore-web-domain-restic USER SNAPSHOT DOMAIN [NOTIFY] [NEW_USER]

Examples:

v-restore-web-domain-restic user snapshot domain.com
v-restore-web-domain-restic user snapshot 'domain.com,domain2.com'
v-restore-web-domain-restic user snapshot '*'

This function for restoring web domains from restic snapshot. The record, certificates and paths read from the snapshot are validated; the site files are copied into the home as the user. Custom web server configuration is not restored from a snapshot, because the user can change it in ~/backup before the backup runs.

Files

v-add-fs-archive

Archive directory.

v-add-fs-archive USER ARCHIVE SOURCE [SOURCE...]

Example:

v-add-fs-archive admin /home/admin/archive.tar /home/admin/readme.txt

This function creates tar archive as the user. The archive and every source must be absolute paths inside the user's home; the archive must not exist.

v-add-fs-directory

Add directory.

v-add-fs-directory USER DIRECTORY

Example:

v-add-fs-directory admin /home/admin/mybar

This function creates new directory on the file system, with its missing parents, as the user. The path must be absolute and inside the user's home.

v-add-fs-download

Prepare a download from a user's home.

v-add-fs-download USER TICKET PATH [PATH...]

Example:

v-add-fs-download alice 0123456789abcdef0123456789abcdef /home/alice/web/example.com/public_html

This function writes the download ticket TICKET into the panel's staging tree for arcpanel-nginx to serve: one regular file is copied as read by the user; several paths or a folder are zipped as the user (symlinks stored as links, never followed). All paths of a zip must share one parent folder. Prints {NAME, SIZE, MIME}.

v-add-fs-file

Add file.

v-add-fs-file USER FILE

Example:

v-add-fs-file admin /home/admin/readme.md

This function creates new files on file system as the user. The path must be absolute and inside the user's home; its folder must exist.

v-add-fs-upload

Move an uploaded file into a user's home.

v-add-fs-upload USER STAGED_FILE DST_PATH [MODE] [ON_CONFLICT]

Example:

v-add-fs-upload alice /usr/local/arcpanel/web-app/storage/app/files/uploads/0123…/file /home/alice/web/example.com/public_html/logo.png 0644 rename

This function writes STAGED_FILE (assembled by the panel) into DST_PATH as the user, so the user's quota applies, with MODE (default 0644). An existing destination fails with E_EXISTS (ON_CONFLICT=fail, default), is replaced (overwrite) or the file gets the first free "name (n).ext" (rename). Prints the final path. STAGED_FILE is always removed.

v-add-fs-zip

Compress files of a user's home into a zip archive.

v-add-fs-zip USER ARCHIVE PATH [PATH...]

Example:

v-add-fs-zip alice /home/alice/web/example.com/public_html/site.zip /home/alice/web/example.com/public_html/assets

This function creates the new zip archive ARCHIVE as the user from PATHs that share one parent folder, which is also the folder of ARCHIVE. Symlinks are stored as links.

v-change-fs-directory-permission

Change the permissions of a folder of a user's home.

v-change-fs-directory-permission USER DIR DIR_MODE [FILES_MODE] [RECURSIVE]

Example:

v-change-fs-directory-permission alice /home/alice/web/example.com/public_html 0755 0644 yes

This function changes the mode of DIR as the user. RECURSIVE=no (default) changes DIR only. RECURSIVE=yes gives DIR_MODE to DIR and every folder below it and FILES_MODE (default DIR_MODE) to every file below it; symlinks are skipped. Entries the user does not own are left as they are and the command ends with E_FORBIDEN after changing the rest.

v-change-fs-file-permission

Change file permission.

v-change-fs-file-permission USER FILE PERMISSIONS

Example:

v-change-fs-file-permission admin /home/admin/readme.txt 0777

This function changes file access permissions on the file system as the user. The path must be absolute and inside the user's home; PERMISSIONS is an octal mode.

v-check-fs-permission

Check file permission.

v-check-fs-permission USER FILE

Example:

v-check-fs-permission admin /home/admin/readme.txt

This function checks that the user can read a file or folder on the file system. The path must be absolute and inside the user's home.

v-copy-fs-directory

Copy directory.

v-copy-fs-directory USER SRC_DIRECTORY DST_DIRECTORY

Example:

v-copy-fs-directory alice /home/alice/dir1 /home/alice/dir2

This function copies directory on the file system as the user. Both paths must be absolute and inside the user's home; the folder of DST_DIRECTORY must exist.

v-copy-fs-file

Copy file.

v-copy-fs-file USER SRC_FILE DST_FILE

Example:

v-copy-fs-file admin /home/admin/readme.txt /home/admin/readme_new.txt

This function copies file on the file system as the user. Both paths must be absolute and inside the user's home; the folder of DST_FILE must exist.

v-delete-fs-directory

Delete directory.

v-delete-fs-directory USER DIRECTORY

Example:

v-delete-fs-directory admin /home/admin/report1

This function deletes directory on the file system as the user. The path must be absolute and inside the user's home; the home itself cannot be deleted.

v-delete-fs-file

Delete file.

v-delete-fs-file USER FILE

Example:

v-delete-fs-file admin /home/admin/readme.txt

This function deletes file on the file system as the user. The path must be absolute and inside the user's home.

v-extract-fs-archive

Archive to directory.

v-extract-fs-archive USER ARCHIVE DIRECTORY [SELECTED_DIR] [STRIP] [TEST]

Example:

v-extract-fs-archive admin /home/admin/latest.tar.gz /home/admin/latest

This function extracts archive into directory on the file system as the user. Both paths must be absolute and inside the user's home; DIRECTORY and its missing parents are created. zip, tar, tar.gz/tgz, tar.bz2/tbz, tar.zst, 7z (with 7-Zip installed) and rar archives are unpacked into DIRECTORY; a single .gz, .bz2 or .zst file is moved into DIRECTORY and decompressed there.

v-get-fs-file-info

Show one file or folder of a user's home.

v-get-fs-file-info USER PATH [FORMAT]

Example:

v-get-fs-file-info alice /home/alice/web/example.com/public_html/index.php json

This function shows type, size, mode, owner, group, modification time, MIME type and whether the user can write the entry, all seen as the user.

v-get-fs-file-type

Get file type.

v-get-fs-file-type USER FILE

Example:

v-get-fs-file-type admin index.html

This function shows file type

v-list-fs-directory

List directory.

v-list-fs-directory USER DIRECTORY

Example:

v-list-fs-directory /home/admin/web

This function lists directory on the file system

v-list-fs-directory-json

List a directory of a user's home as JSON.

v-list-fs-directory-json USER DIR [OFFSET] [LIMIT] [SORT] [ORDER] [HIDDEN]

Example:

v-list-fs-directory-json alice /home/alice/web 0 2000 name asc yes

This function lists the entries of DIR as the user: folders first, then sorted by SORT (name, size, mtime) in ORDER (asc, desc). HIDDEN=no drops dot entries. LIMIT is at most 5000. Symlinks carry their target, the target's type and whether the target stays in the home directory.

v-list-fs-disk-usage

Show the size of a folder of a user's home.

v-list-fs-disk-usage USER DIR [FORMAT]

Example:

v-list-fs-disk-usage alice /home/alice/web/example.com json

This function counts the bytes below DIR as the user (du -sb) and gives up after 30 seconds with E_LIMIT.

v-move-fs-directory

Move file.

v-move-fs-directory USER SRC_DIRECTORY DST_DIRECTORY

Example:

v-move-fs-directory admin /home/admin/web /home/admin/www/

This function moved file or directory on the file system. This function can also be used to rename files just like normal mv command. It runs as the user; both paths must be absolute and inside the user's home, and the home itself cannot be moved.

v-move-fs-file

Move file.

v-move-fs-file USER SRC_FILE DST_FILE

Example:

v-move-fs-file admin /home/admin/readme.txt /home/admin/new_readme.txt

This function moved file or directory on the file system. This function can also be used to rename files just like normal mv command. It runs as the user; both paths must be absolute and inside the user's home.

v-open-fs-config

Open config.

v-open-fs-config CONFIG

Example:

v-open-fs-config /etc/mysql/my.cnf

This function opens/reads config files on the file system

v-open-fs-file

Open file.

v-open-fs-file USER FILE

Example:

v-open-fs-file admin /home/admin/README.md

This function opens/reads files on the file system as the user. The path must be absolute and inside the user's home.

v-read-fs-file

Read a text file of a user's home for the editor.

v-read-fs-file USER PATH [MAX_BYTES]

Example:

v-read-fs-file alice /home/alice/web/example.com/public_html/.htaccess

This function prints a JSON header line {SIZE, MTIME, MIME, HASH} and then the content of a regular file read as the user. HASH is the SHA-256 of the printed content; v-save-fs-file expects it back. Files above MAX_BYTES (default 2097152) are refused with E_LIMIT.

v-save-fs-file

Save the editor content into a file of a user's home.

v-save-fs-file USER STAGED_FILE DST_PATH [EXPECTED_HASH]

Example:

v-save-fs-file alice /usr/local/arcpanel/web-app/storage/app/files/uploads/0123…/file /home/alice/web/example.com/public_html/index.php 9f86d0…

This function writes STAGED_FILE (staged by the panel) into DST_PATH as the user. An existing file must still have the SHA-256 EXPECTED_HASH that v-read-fs-file printed (E_INUSE otherwise) and keeps its mode; a file the user owns is replaced atomically, a file owned by someone else is rewritten in place so it keeps its owner. A new file needs an empty EXPECTED_HASH. Prints the JSON header of the saved content. STAGED_FILE is always removed.

v-search-fs-object

Search file or directory.

v-search-fs-object USER OBJECT [PATH]

Example:

v-search-fs-object admin hello.txt

This function search files and directories on the file system

Node.js

v-add-node-app

Add a Node.js app to a web domain.

v-add-node-app USER DOMAIN [START] [NODE_VERSION] [PORT] [CWD] [INSTANCES] [TEMPLATE] [NAME]

Examples:

v-add-node-app alice api.example.com
v-add-node-app alice shop.example.com npm:start 24.3.0 auto public_html 1 nextjs

This function runs a Node.js app for a web domain with the user's pm2 daemon. START is a file relative to CWD (default public_html) or npm:<script> for a script of package.json; without it, the start script, the main file or server.js, app.js, index.js is used. NODE_VERSION is an installed runtime or "default". PORT is a port of the user's pool or "auto". TEMPLATE is a Node.js template (default nodejs-proxy). The domain is switched to the template with the app's port; deleting the app restores the previous template.

v-change-node-app-env

Replace the environment of a Node.js app.

v-change-node-app-env USER DOMAIN FILE

Example:

v-change-node-app-env alice api.example.com /tmp/env.txt

This function replaces the .env file of the app with FILE: KEY=value lines (blank lines and # comments are kept), at most 200 lines and 64 KB. PORT, HOST, NODE_ENV and PATH are set by the panel and cannot be set here. A running app is restarted. Values are never logged. A value may reference secrets of the user as {{secret:NAME}}: they must exist and be single-line, and are resolved only when the app starts.

v-change-node-app-scale

Change the instances and the memory limit of a Node.js app.

v-change-node-app-scale USER DOMAIN INSTANCES [MAX_MEMORY]

Examples:

v-change-node-app-scale alice api.example.com 2
v-change-node-app-scale alice api.example.com 1 768

This function sets the number of pm2 instances (more than one runs the app in cluster mode, at most NODE_MAX_INSTANCES) and the memory in MB at which pm2 restarts the app (at most the package MEMORY_LIMIT). A running app is restarted.

v-change-node-app-start

Change the start command of a Node.js app.

v-change-node-app-start USER DOMAIN START [CWD]

Examples:

v-change-node-app-start alice api.example.com server.js
v-change-node-app-start alice shop.example.com npm:start app

This function sets the start command (a file relative to CWD or npm:<script>) and optionally the working directory (relative to the domain directory) of the app. A running app is restarted.

v-change-node-app-version

Change the Node.js runtime of an app.

v-change-node-app-version USER DOMAIN NODE_VERSION

Examples:

v-change-node-app-version alice api.example.com 22.11.0
v-change-node-app-version alice api.example.com default

This function runs the app with another installed runtime, or with the user's default runtime ("default"). A running app is restarted.

v-delete-node-app

Delete the Node.js app of a web domain.

v-delete-node-app USER DOMAIN [KEEP_FILES]

Examples:

v-delete-node-app alice api.example.com
v-delete-node-app alice api.example.com keep-files

This function stops and removes the app from the user's pm2 daemon, releases its port, removes the template variables and restores the template the domain had before the app. The nodeapp folder is removed; with keep-files only the generated files go and .env and the logs stay. The daemon is removed with the last app.

v-list-node-app

List the Node.js app of a web domain.

v-list-node-app USER DOMAIN [FORMAT]

Example:

v-list-node-app alice api.example.com json

This function shows one app with its live state (as v-list-node-apps), the web address and SSL state of the domain and the default memory and instance limits.

v-list-node-app-env

List the environment of a Node.js app.

v-list-node-app-env USER DOMAIN [FORMAT]

Example:

v-list-node-app-env alice api.example.com json

This function lists the KEY=value lines of the .env file of the app, with quotes around a value removed as the app sees it.

v-list-node-app-logs

List the logs of a Node.js app.

v-list-node-app-logs USER DOMAIN [STREAM] [OFFSET] [LINES] [FORMAT]

Examples:

v-list-node-app-logs alice api.example.com out
v-list-node-app-logs alice api.example.com err 18231 '' json

This function shows a log of the app: STREAM is out (default), err, install or build. Without OFFSET it shows the last LINES lines (default 200, at most 1000); with OFFSET (bytes) it shows what was written after it, at most 256 KB and whole lines only. OFFSET in the output is where the next read starts; an offset beyond the end (the log was rotated) starts again at 0.

v-list-node-apps

List the Node.js apps of a user.

v-list-node-apps USER [FORMAT]

Example:

v-list-node-apps alice json

This function lists the apps of the user with their live state from the user's pm2 daemon: STATUS (online, stopped, errored, launching, suspended, missing), PID, CPU (%), MEMORY (MB), RESTARTS and UPTIME (seconds), plus the package limit NODE_APPS.

v-rebuild-node-apps

Rebuild the Node.js apps of a user.

v-rebuild-node-apps USER

Example:

v-rebuild-node-apps alice

This function brings the apps of the user back after a restore, a rebuild or a reboot. The app.conf copies of domains without a record (a restored backup) are checked and imported. For every app the port is registered again (the same port when it is free, otherwise a new one that becomes the domain's BACKEND_PORT), a missing runtime is installed from the cache, the files and the pm2 daemon are rendered again and the apps that should run are started. Records of domains that no longer exist are removed.

v-reload-node-app

Reload the Node.js app of a web domain.

v-reload-node-app USER DOMAIN

Example:

v-reload-node-app alice api.example.com

This function reloads a running app with pm2 (zero downtime in cluster mode); a stopped app is started.

v-restart-node-app

Restart the Node.js app of a web domain.

v-restart-node-app USER DOMAIN

Example:

v-restart-node-app alice api.example.com

This function starts the app again with a new ecosystem file, so changes of .env apply.

v-run-node-app-build

Run the build script of a Node.js app.

v-run-node-app-build USER DOMAIN [SCRIPT]

Examples:

v-run-node-app-build alice shop.example.com
v-run-node-app-build alice shop.example.com build:prod

This function runs a script of package.json (default build) in the working directory of the app as the user, with the app's runtime. The output goes to logs/build.log of the app. When the script succeeds, an app that should run is reloaded, or started when it is not online (it could not start before its first build). The panel runs it as a task (v-start-user-node-task USER app-build DOMAIN [SCRIPT]).

v-run-node-app-install

Install the dependencies of a Node.js app.

v-run-node-app-install USER DOMAIN

Example:

v-run-node-app-install alice api.example.com

This function installs the dependencies of the app in its working directory as the user, with the app's runtime: pnpm install --frozen-lockfile with pnpm-lock.yaml, yarn install (--immutable for Yarn 2 and later, --frozen-lockfile for Yarn 1) with yarn.lock, npm ci with package-lock.json, npm install otherwise. The output goes to logs/install.log of the app. An app that should run is then restarted, so it loads the new modules. The panel runs it as a task (v-start-user-node-task USER app-install DOMAIN).

v-start-node-app

Start the Node.js app of a web domain.

v-start-node-app USER DOMAIN

Example:

v-start-node-app alice api.example.com

This function starts the app with the user's pm2 daemon (the daemon is started when it is down). The ecosystem file is generated again first.

v-stop-node-app

Stop the Node.js app of a web domain.

v-stop-node-app USER DOMAIN

Example:

v-stop-node-app alice api.example.com

This function stops the app; it stays stopped after a reboot, a rebuild and an unsuspend until it is started again.

v-suspend-node-app

Suspend the Node.js app of a web domain.

v-suspend-node-app USER DOMAIN

Example:

v-suspend-node-app alice api.example.com

This function stops the app and marks it suspended: it is not started by a reboot, a rebuild or the unsuspension of the user until v-unsuspend-node-app. Its port stays assigned.

v-unsuspend-node-app

Unsuspend the Node.js app of a web domain.

v-unsuspend-node-app USER DOMAIN

Example:

v-unsuspend-node-app alice api.example.com

This function clears the suspension of the app and starts it again, unless it had been stopped before.

App processes

v-add-app-process

Add an app process to a web domain.

v-add-app-process USER DOMAIN NAME PRESET [START] [CWD] [MEMORY] [CPUS] [KIND] [TEMPLATE]

Examples:

v-add-app-process alice shop.example.com web octane-swoole
v-add-app-process alice shop.example.com queue laravel-queue
v-add-app-process alice api.example.com web custom 'python3 -m http.server 8000' . 256 0.5 web flask-fastapi

This function runs a long-running command of a web domain as the user, under its own systemd unit with the memory and CPU limits of the package. PRESET (see v-list-app-process-presets) fills the command, the reload action and, for a web process, the template; START replaces the command (an empty value keeps the preset's). CWD is relative to the domain folder (default public_html). MEMORY is in MB (default from the package), CPUS a number such as 1 or 0.5 (default 1). KIND (web or worker) and TEMPLATE are for the custom preset. A web process gets a port of the user's pool, and the domain is switched to the template with that port; deleting the process restores the previous template. A domain has at most one web process and any number of workers within APP_PROCESSES_MAX.

v-change-app-process-env

Replace the environment of an app process.

v-change-app-process-env USER DOMAIN NAME FILE

Example:

v-change-app-process-env alice shop.example.com web /tmp/env.txt

This function replaces the environment file of the app process with FILE: KEY=value lines (blank lines and # comments are kept), at most 200 lines and 64 KB. PORT, HOST, PATH, HOME, USER and LOGNAME are set by the panel and cannot be set here. A value may reference secrets of the user as {{secret:NAME}}: they must exist and are resolved only when the process starts, outside the home directory. A running process is restarted. Values are never logged.

v-change-app-process-limits

Change the memory and CPU limits of an app process.

v-change-app-process-limits USER DOMAIN NAME MEMORY CPUS

Example:

v-change-app-process-limits alice shop.example.com web 768 1.5

This function sets the memory (MB) and the CPUs (such as 1 or 0.5) of the app process within the limits of the user's package. A running process is restarted with the new limits.

v-change-app-process-start

Change the command of an app process.

v-change-app-process-start USER DOMAIN NAME START [CWD]

Example:

v-change-app-process-start alice shop.example.com web '/usr/bin/php8.4 artisan octane:start --server=swoole --host=127.0.0.1 --port=30001 --workers=4'

This function replaces the command line of the app process and, with CWD, its working directory (relative to the domain folder). Words are split without a shell: quotes group, a backslash escapes, nothing is expanded. %port% is replaced with the port of a web process. A running process is restarted.

v-delete-app-process

Delete an app process of a web domain.

v-delete-app-process USER DOMAIN NAME

Example:

v-delete-app-process alice shop.example.com queue

This function stops the process and removes its unit and record. For the web process, the port goes back to the user's pool and the domain gets its previous template again. The log and the environment file stay in the domain folder (app-process/).

v-list-app-process

List one app process of a web domain.

v-list-app-process USER DOMAIN NAME [FORMAT]

Example:

v-list-app-process alice shop.example.com web json

This function prints the record of the app process with its live state (see v-list-app-processes), its unit, the path of its log and of its environment file and the reason when its runtime is missing.

v-list-app-process-env

List the environment of an app process.

v-list-app-process-env USER DOMAIN NAME [FORMAT]

Example:

v-list-app-process-env alice shop.example.com web json

This function lists the KEY=value lines of the environment file of the app process, read as the user. {{secret:NAME}} references are shown as written, never resolved.

v-list-app-process-logs

List the log of an app process.

v-list-app-process-logs USER DOMAIN NAME [STREAM] [OFFSET] [LINES] [FORMAT]

Examples:

v-list-app-process-logs alice shop.example.com web
v-list-app-process-logs alice shop.example.com web process 18231 '' json

This function shows a log of the app process: STREAM is process (default, the output of the process and its reloads) or task (the last one-off task of the domain's processes). Without OFFSET it shows the last LINES lines (default 200, at most 1000); with OFFSET (bytes) it shows what was written after it, at most 256 KB and whole lines only. OFFSET in the output is where the next read starts; an offset beyond the end (the log was rotated) starts again at 0.

v-list-app-process-presets

List the presets of app processes.

v-list-app-process-presets [USER DOMAIN [CWD]] [FORMAT]

Examples:

v-list-app-process-presets json
v-list-app-process-presets alice shop.example.com public_html json

This function lists the presets of the app process catalog: kind, template, runtime and the command with its placeholders. With USER and DOMAIN, each preset also says whether its files were found in CWD (default public_html, read as the user) and why its runtime is missing, and the command shows its placeholders filled in (%port% and %workers%, which depend on the process, stay).

v-list-app-process-task

List the last one-off task of a user's app processes.

v-list-app-process-task USER [FORMAT]

Example:

v-list-app-process-task alice json

This function shows the last task started with v-start-app-process-task: its id, domain, process, task, STATUS (running, done or failed), exit code and times. A running task whose process is gone is shown as failed.

v-list-app-processes

List the app processes of a user.

v-list-app-processes USER [FORMAT]

Example:

v-list-app-processes alice json

This function lists the app processes of USER with their live state from systemd (STATUS running, starting, stopping, stopped, failed, suspended or missing; PID, MEMORY_USED in MB, CPU_SECONDS, RESTARTS, UPTIME in seconds) and the limits of the user's package.

v-rebuild-app-processes

Rebuild the app processes of a user.

v-rebuild-app-processes USER

Example:

v-rebuild-app-processes alice

This function brings the app processes of USER in line with their records: processes of deleted web domains are removed, copies in a domain's app-process/ folder without a record (after a restore) are validated again and imported, units, run files, ports, templates and the logrotate file are written again, and the processes that should run are started, the others stopped. The panel runs it after a user rebuild and v-check-sys-app-processes when it finds something to repair.

v-reload-app-process

Reload an app process.

v-reload-app-process USER DOMAIN NAME

Example:

v-reload-app-process alice shop.example.com web

This function runs the reload action of the process's preset so that it serves new code: a command run as the user (php artisan octane:reload, queue:restart, horizon:terminate), a signal (HUP for Gunicorn, USR1 for Puma) or a restart. The output of a reload command goes to the log of the process. A process that does not run is refused.

v-restart-app-process

Restart an app process.

v-restart-app-process USER DOMAIN NAME

Example:

v-restart-app-process alice shop.example.com web

This function stops and starts the app process with its current command, environment and limits. A stopped process is started.

v-run-app-process-task

Run a one-off task of an app process.

v-run-app-process-task ID USER DOMAIN NAME TASK [COMMAND]

Example:

v-run-app-process-task 17606214250042 alice shop.example.com web migrate

This function is started by v-start-app-process-task and runs the task in the foreground as the user, appending its output to app-process/logs/task.log of the domain, then records the exit code. COMMAND is base64, for the custom task. The task runs in a transient unit in the user's slice with the limits of the process, so it shares the package's resources and stops with all its children. Not meant to be called directly.

v-start-app-process

Start an app process.

v-start-app-process USER DOMAIN NAME

Example:

v-start-app-process alice shop.example.com web

This function starts the app process (a running one is restarted), clears a failed state and keeps it running across reboots.

v-start-app-process-task

Start a one-off task of an app process.

v-start-app-process-task USER DOMAIN NAME TASK [COMMAND]

Examples:

v-start-app-process-task alice shop.example.com web composer-install
v-start-app-process-task alice shop.example.com web custom 'php8.4 artisan optimize'

This function runs TASK in the background, as the user, in the working directory of the app process: composer-install (composer install --no-dev with the domain's PHP), migrate (php artisan migrate --force), pip-install (pip of .venv with requirements.txt), bundle-install (bundle install into vendor/bundle) or custom (COMMAND, split without a shell). One task runs at a time per user, for at most 30 minutes; its output goes to app-process/logs/task.log of the domain. After a successful install a running process is reloaded. It prints the id of the task; follow it with v-list-app-process-task and v-list-app-process-logs ... task.

v-stop-app-process

Stop an app process.

v-stop-app-process USER DOMAIN NAME

Example:

v-stop-app-process alice shop.example.com queue

This function stops the app process and keeps it stopped across reboots until it is started again.

Docker

v-add-docker-app

Install a Docker app of the catalog for a user.

v-add-docker-app USER SLUG NAME [DOMAIN] [VARS_FILE] [VERSION]

Examples:

v-add-docker-app alice uptime-kuma status status.example.com
v-add-docker-app alice redis cache '' /tmp/vars

This function installs the catalog app SLUG (default: its latest VERSION) as the app NAME of USER. An app with a web port needs one of the user's web domains, which is switched to the docker-proxy template with the app's port; deleting the app restores the previous template. VARS_FILE holds NAME=value lines for the app's variables (secrets are generated when they are left out). Ports come from the user's port pool. The images are pulled and the app is started by a background task: the command prints its ID, read with v-list-docker-app-task.

v-change-docker-app-domain

Move a Docker app to another web domain.

v-change-docker-app-domain USER NAME DOMAIN

Example:

v-change-docker-app-domain alice status uptime.example.com

This function binds the Docker app NAME of USER to DOMAIN (docker-proxy template with the app's port) and gives the previous domain its template back. ARC_DOMAIN and ARC_URL of the app change with it; a running app is started again.

v-change-docker-app-env

Change the variables of a Docker app.

v-change-docker-app-env USER NAME FILE

Example:

v-change-docker-app-env alice status /tmp/vars

This function sets variables of the Docker app NAME of USER from FILE (NAME=value lines). Only variables of the app's manifest are accepted, values are checked against their type, an empty value of a secret keeps the stored one and immutable variables cannot change. A running app is started again with the new values.

v-change-docker-app-limits

Change the CPU and memory limits of a Docker app.

v-change-docker-app-limits USER NAME CPUS MEMORY

Example:

v-change-docker-app-limits alice status 1 1024

This function sets the CPUs (like 0.5) and the memory in MB of each service of the Docker app NAME of USER, within DOCKER_CPUS, DOCKER_MEMORY and MEMORY_LIMIT of the package and at least the memory the app needs. A running app is started again with the new limits.

v-check-docker-catalog

Check the Docker app catalog.

v-check-docker-catalog [DIR] [FORMAT]

Examples:

v-check-docker-catalog
v-check-docker-catalog /root/my-catalog json

This function validates every app of a catalog (default: the catalog shipped with ArcPanel): the icon, each manifest.json against the rules of the manifest schema, and each compose.yaml rendered with the default variables and merged with the ArcPanel override, refused when it asks for privileges, devices, host namespaces, the Docker socket, named volumes, bind mounts outside the app's data folder, published ports of its own or images that are not pinned in the manifest. It needs the Docker CLI with the Compose plugin, not a running engine. Exits with E_INVALID when an app is refused.

v-delete-docker-app

Delete a Docker app of a user.

v-delete-docker-app USER NAME [KEEP_DATA]

Examples:

v-delete-docker-app alice status
v-delete-docker-app alice status keep-data

This function removes the containers and the network of the Docker app NAME of USER, frees its ports, restores the previous template of its domain and removes ~/apps/NAME. With KEEP_DATA (keep-data), the data folder is moved to ~/apps/.removed/NAME-<date>/ instead.

v-list-docker-app

Show a Docker app of a user.

v-list-docker-app USER NAME [FORMAT]

Example:

v-list-docker-app alice status json

This function prints the Docker app NAME of USER: the fields of v-list-docker-apps, its services (image, state, health), its ports with their container port and whether they are public, the catalog entry (name, summary, homepage, changelog, icon), the rendered post-install note and the state of its last task.

v-list-docker-app-env

List the variables of a Docker app.

v-list-docker-app-env USER NAME [FORMAT]

Example:

v-list-docker-app-env alice status json

This function lists the variables that the catalog manifest of the Docker app NAME of USER declares, with their label, type, options and current value. Values of secret (password) variables are never printed: VALUE is empty and SET tells whether one is stored, except for a value that is one reference to the secret store ({{secret:NAME}}), shown as written.

v-list-docker-app-logs

Show the container logs of a Docker app.

v-list-docker-app-logs USER NAME [SERVICE] [SINCE] [LINES] [FORMAT]

Examples:

v-list-docker-app-logs alice status
v-list-docker-app-logs alice status app 2026-10-05T10:00:00.123456789Z 200 json

This function prints the logs of the containers of the Docker app NAME of USER (SERVICE, or "all"). Without SINCE, the last LINES lines (default 200, at most 1000) of each service; with SINCE (the NEXT value of a previous answer), only the lines written after it. Lines are TIME SERVICE TEXT, oldest first; NEXT is the time of the last line.

v-list-docker-app-task

Show the current or last task of a Docker app.

v-list-docker-app-task USER NAME [OFFSET] [FORMAT]

Example:

v-list-docker-app-task alice status 0 json

This function prints the task record of the Docker app NAME of USER (ID, ACTION, ARGS, STATUS, EXIT, START, END) and its output after byte OFFSET (default 0, at most 256 KB) with the next OFFSET. STATUS is running, done or failed; a running task whose process is gone is reported, and stored, as failed. Without a task, STATUS is empty.

v-list-docker-apps

List the Docker apps of a user.

v-list-docker-apps USER [FORMAT]

Example:

v-list-docker-apps alice json

This function lists the Docker apps of USER with their state: STATUS (installing, updating, running, degraded, restarting, stopped, exited, missing, failed or suspended), CPU (percent), MEM (MB), the latest catalog version and UPDATE, plus the package limit DOCKER_APPS.

v-list-docker-catalog

List the apps of the Docker app catalog.

v-list-docker-catalog [CATEGORY] [FORMAT]

Examples:

v-list-docker-catalog
v-list-docker-catalog monitoring json

This function lists the latest version of every catalog app: slug, name, summary, category, version, versions, admin_only, arch, requirements, homepage, licence, whether it has a web port, and the icon as a data URI (json only). CATEGORY (or "all") filters the list. Apps whose manifest is invalid are left out.

v-list-docker-catalog-app

Show an app of the Docker app catalog.

v-list-docker-catalog-app SLUG [VERSION] [FORMAT]

Examples:

v-list-docker-catalog-app uptime-kuma
v-list-docker-catalog-app uptime-kuma 2.5.5 json

This function prints the manifest of a catalog app (default: its latest version) with the icon as a data URI and the list of versions. Variable defaults that name the server time zone are rendered; defaults with {{random:N}} are left empty (a value is generated at installation).

v-rebuild-docker-apps

Rebuild the Docker apps of a user from their records and copies.

v-rebuild-docker-apps USER

Example:

v-rebuild-docker-apps alice

This function brings the Docker apps of USER back after a restore or a move: app.conf copies in ~/apps/<name>/ without a record are imported (every field is checked again; the recorded version must still be in the catalog), ports are registered again (the recorded port when it is free, kept ports first, then new ones), domains get the docker-proxy template with their port, the projects are rendered again from the catalog and the .env copies, and apps that should run are started.

v-restart-docker-app

Restart a Docker app.

v-restart-docker-app USER NAME

Example:

v-restart-docker-app alice status

This function renders the Docker app NAME of USER again, checks it, recreates the containers whose configuration changed and restarts the others.

v-run-docker-app-task

Run a Docker app task started by v-start-docker-app-task.

v-run-docker-app-task ID USER NAME ACTION [VERSION]

Example:

v-run-docker-app-task 17286400001234 alice status install

This function is the background part of v-start-docker-app-task: it runs the task and records its result. It refuses to run a task that v-start-docker-app-task did not start.

v-start-docker-app

Start a Docker app.

v-start-docker-app USER NAME

Example:

v-start-docker-app alice status

This function renders the Docker app NAME of USER again, checks it and starts its containers; the app then starts with the server again.

v-start-docker-app-task

Start a task of a Docker app in the background.

v-start-docker-app-task USER NAME ACTION [VERSION]

Examples:

v-start-docker-app-task alice status install
v-start-docker-app-task alice status update 2.6.0
v-start-docker-app-task alice status rollback
v-start-docker-app-task alice status snapshot

This function checks a long operation on the Docker app NAME of USER, starts it detached from the caller and prints the task ID. ACTION is install (pull, start and health check again after a failed installation), update (to VERSION, default the latest of the catalog, with a snapshot of the data and an automatic rollback), rollback (to the version before the last update) or snapshot (the database dumps of the app now). An app runs one task at a time; the state and the output are read with v-list-docker-app-task.

v-stop-docker-app

Stop a Docker app.

v-stop-docker-app USER NAME

Example:

v-stop-docker-app alice status

This function stops the containers of the Docker app NAME of USER. The app stays stopped after a reboot until it is started again.

v-suspend-docker-app

Suspend a Docker app.

v-suspend-docker-app USER NAME

Example:

v-suspend-docker-app alice status

This function stops the containers of the Docker app NAME of USER and marks it suspended: it does not start again until it is unsuspended. Its ports stay assigned.

v-unsuspend-docker-app

Unsuspend a Docker app.

v-unsuspend-docker-app USER NAME

Example:

v-unsuspend-docker-app alice status

This function lifts the suspension of the Docker app NAME of USER and starts it again unless it was stopped before.

Firewall

v-add-firewall-ban

Add firewall blocking rule.

v-add-firewall-ban IPV4_CIDR CHAIN

Example:

v-add-firewall-ban 37.120.129.20 MAIL

This function adds new blocking rule to system firewall

v-add-firewall-chain

Add firewall chain.

v-add-firewall-chain CHAIN [PORT] [PROTOCOL]

Example:

v-add-firewall-chain CRM 5678 TCP

This function adds new rule to system firewall

v-add-firewall-ipset

Add firewall ipset.

v-add-firewall-ipset NAME [SOURCE] [IPVERSION] [AUTOUPDATE] [REFRESH]

Example:

v-add-firewall-ipset country-nl "https://raw.githubusercontent.com/ipverse/rir-ip/master/country/nl/ipv4-aggregated.txt"

This function adds new ipset to system firewall

v-add-firewall-rule

Add firewall rule.

v-add-firewall-rule ACTION IPV4_CIDR PORT [PROTOCOL] [COMMENT] [RULE]

Example:

v-add-firewall-rule DROP 185.137.111.77 25

This function adds new rule to system firewall

v-change-firewall-rule

Change firewall rule.

v-change-firewall-rule RULE ACTION IPV4_CIDR PORT [PROTOCOL] [COMMENT]

Example:

v-change-firewall-rule 3 ACCEPT 5.188.123.17 443

This function is used for changing existing firewall rule. It fully replace rule with new one but keeps same id.

v-delete-firewall-ban

Delete firewall blocking rule.

v-delete-firewall-ban IPV4_CIDR CHAIN

Example:

v-delete-firewall-ban 198.11.130.250 MAIL

This function deletes blocking rule from system firewall

v-delete-firewall-chain

Delete firewall chain.

v-delete-firewall-chain CHAIN

Example:

v-delete-firewall-chain WEB

This function adds new rule to system firewall

v-delete-firewall-ipset

Delete firewall ipset.

v-delete-firewall-ipset NAME

Example:

v-delete-firewall-ipset country-nl

This function removes ipset from system and from arcpanel

v-delete-firewall-rule

Delete firewall rule.

v-delete-firewall-rule RULE

Example:

v-delete-firewall-rule SSH_BLOCK

This function deletes firewall rule.

v-list-firewall

List iptables rules.

v-list-firewall [FORMAT]

Example:

v-list-firewall json

This function of obtaining the list of all iptables rules.

v-list-firewall-ban

List firewall block list.

v-list-firewall-ban [FORMAT]

Example:

v-list-firewall-ban json

This function of obtaining the list of currently blocked ips.

v-list-firewall-ipset

List firewall ipset.

v-list-firewall-ipset [FORMAT]

Example:

v-list-firewall-ipset json

This function prints defined ipset lists

v-list-firewall-rule

List firewall rule.

v-list-firewall-rule RULE [FORMAT]

Example:

v-list-firewall-rule 2

This function of obtaining firewall rule parameters.

v-move-firewall-rule

Change firewall rule.

v-move-firewall-rule RULE DIRECTION

Example:

v-move-firewall-rule 4 up

This function is used for moving an existing firewall rule. Direction can be either "up" or "down".

If the direction is "up", the rule will be moved to a lower number (higher priority).

If the direction is "down", the rule will be moved to a higher number (lower priority).

v-stop-firewall

Stop system firewall.

v-stop-firewall NONE

Example:

v-stop-firewall

This function stops iptables

v-suspend-firewall-rule

Suspend firewall rule.

v-suspend-firewall-rule RULE

Example:

v-suspend-firewall-rule 7

This function suspends a certain firewall rule.

v-unsuspend-firewall-rule

Unsuspend firewall rule.

v-unsuspend-firewall-rule RULE

Example:

v-unsuspend-firewall-rule 7

This function unsuspends a certain firewall rule.

v-update-firewall

Update system firewall rules.

v-update-firewall NONE

Example:

v-update-firewall

This function updates iptables rules

v-update-firewall-ipset

Update firewall ipset.

v-update-firewall-ipset [REFRESH]

Example:

v-update-firewall-ipset

This function creates ipset lists and updates the lists if they are expired or ondemand

API and access keys

v-add-access-key

Generate access key.

v-add-access-key USER [PERMISSIONS] [COMMENT] [ALLOWED_IPS] [EXPIRES] [FORMAT]

Examples:

v-add-access-key admin v-purge-nginx-cache,v-list-mail-accounts comment json
v-add-access-key bob v2-observe fleet 203.0.113.7,2001:db8::/48 1830297600 json

The "PERMISSIONS" argument is optional for the admin user only. This function creates a key file in $ARCPANEL/data/access-keys/

ALLOWED_IPS limits the key to at most 20 addresses or CIDR networks, comma separated; EXPIRES is the Unix time after which the key is refused, at least an hour and at most three years ahead. Both are set once: a different restriction means a new key. A format name (json, shell, plain, csv) as the fourth argument is FORMAT, as before ALLOWED_IPS existed.

v-check-access-key

Check access key.

v-check-access-key ACCESS_KEY_ID SECRET_ACCESS_KEY COMMAND [IP] [FORMAT]

Example:

v-check-access-key key_id secret v-purge-nginx-cache 127.0.0.1 json

* Checks if the key exists; * Checks if the secret belongs to the key; * Checks if the key has expired or the client address is outside its list; * Checks if the key user is suspended; * Checks if the key has permission to run the command.

v-check-access-key-permissions

Check an access key for API v2.

v-check-access-key-permissions ACCESS_KEY_ID SECRET_FILE IP [FORMAT]

Example:

v-check-access-key-permissions 1234567890ABCDefghij /tmp/arcSecret 203.0.113.5 json

This function checks an access key for REST API v2 and prints its owner, the owner's role, its permission sets, the commands they allow and its restrictions (EXPIRES, a Unix time, and ALLOWED_IPS): * the key exists and the secret (read from SECRET_FILE) belongs to it; * the key has not expired (E_PASSWORD, like a wrong secret) and the client address is in its address list, when it has one (E_DISABLED); * the owner exists and is not suspended; * a key of another user than the administrator has permission sets. COMMANDS is "*" for an administrator's key without permission sets. Sets marked API_VERSION='2' are expanded too (API v1 skips them).

v-check-api-key

Check api key.

v-check-api-key KEY [IP]

Example:

v-check-api-key random_key 127.0.0.1

This function checks a key file in $ARCPANEL/data/keys/

v-delete-access-key

Delete access key.

v-delete-access-key ACCESS_KEY_ID

Example:

v-delete-access-key mykey

This function removes a key from in $ARCPANEL/data/access-keys/

v-generate-api-key

Generate api key.

v-generate-api-key NONE

Example:

v-generate-api-key

This function creates a key file in $ARCPANEL/data/keys/

v-list-access-key

List all API access keys.

v-list-access-key ACCESS_KEY_ID [FORMAT]

Example:

v-list-access-key 1234567890ABCDefghij json

v-list-access-keys

List all API access keys.

v-list-access-keys [USER] [FORMAT]

Example:

v-list-access-keys json

v-list-api

List api.

v-list-api API [FORMAT]

Example:

v-list-api mail-accounts json

v-list-apis

List available APIs.

v-list-apis [FORMAT]

Example:

v-list-apis json

v-revoke-api-key

Revokes api key.

v-revoke-api-key [HASH]

Example:

v-revoke-api-key mykey

This function removes a key from in $ARCPANEL/data/keys/

Imports

v-import-cpanel

Import Cpanel backup to a new user.

v-import-cpanel BACKUP [MX]

Example:

v-import-cpanel /backup/backup.tar.gz yes

Based on sk-import-cpanel-backup-to-vestacp Credits: Maks Usmanov (skamasle) and contributors: Thanks to <https://github.com/Skamasle/sk-import-cpanel-backup-to-vestacp/graphs/contributors>

v-import-directadmin

Import DirectAdmin backup to a new user.

v-import-directadmin BACKUP_FILE

Example:

v-import-directadmin /backup/backup.tar.gz

Based on sk-da-importer Credits: Maks Usmanov (skamasle), Jaap Marcus (jaapmarcus) and contributors: Thanks to <https://github.com/Skamasle/sk_da_importer/graphs/contributors>

System

v-add-sys-api-ip

Add IP address to API allow list.

v-add-sys-api-ip IP

Example:

v-add-sys-api-ip 1.1.1.1

v-add-sys-app-processes

Set up app processes.

v-add-sys-app-processes NONE

Example:

v-add-sys-app-processes

This function prepares a server for app processes: the root-owned folder of their run files, the PHP settings of the processes ($ARCPANEL/data/app-processes/.php/zz-app-processes.ini), the app process keys of the "developer" package and the 5-minute v-check-sys-app-processes job that converges the units with the records. It is safe to run again and keeps packages an administrator has changed.

v-add-sys-arcpanel

Set up the ArcPanel panel app (Laravel, web-app/).

v-add-sys-arcpanel NONE

Example:

v-add-sys-arcpanel

This function prepares the panel app that is shipped in the arcpanel package: writable directories, its configuration file with a private key, the command allow-list, the sudo rules of arcpanelweb (v-update-sys-sudoers) and the framework caches. It is safe to run again; an existing key is kept.

v-add-sys-cgroups

Enable cgroup support for user.

v-add-sys-cgroups NONE

Example:

v-add-sys-cgroup

v-add-sys-dependencies

Add PHP dependencies to ArcPanel.

v-add-sys-dependencies [MODE]

This function install PHPMailer and quoteshellarg as via composer

v-add-sys-docker

Install the Docker engine for Docker apps.

v-add-sys-docker [DATA_ROOT]

Examples:

v-add-sys-docker
v-add-sys-docker /srv/docker

This function installs Docker Engine and the Compose plugin from Docker's apt repository (key fingerprint checked), writes /etc/docker/daemon.json when it does not exist (log limits, live restore, no userland proxy, DATA_ROOT, address pools 172.30.0.0/16), enables the engine and records DOCKER_SYSTEM and DOCKER_DATA_ROOT. No hosting user gets access to the Docker socket: Docker apps are run by the v-*-docker-app commands only. It is safe to run again. DOCKER_APT_URL in arcpanel.conf overrides the repository location (mirrors).

v-add-sys-filemanager

Enable the file manager of the panel.

v-add-sys-filemanager [MODE]

Example:

v-add-sys-filemanager quiet

This function turns the file manager of the panel app on (FILE_MANAGER). ArcPanel 2.0 ships the file manager with the panel; FileGator is no longer downloaded or installed.

v-add-sys-firewall

Add system firewall.

v-add-sys-firewall NONE

Example:

v-add-sys-firewall

This function enables the system firewall.

v-add-sys-ip

Add system IP address.

v-add-sys-ip IP NETMASK [INTERFACE] [USER] [IP_STATUS] [IP_NAME] [NAT_IP]

Example:

v-add-sys-ip 203.0.113.1 255.255.255.0

This function adds IP address into a system. It also creates rc scripts. You can specify IP name which will be used as root domain for temporary aliases. For example, if you set a1.myhosting.com as name, each new domain created on this IP will automatically receive alias $domain.a1.myhosting.com. Of course you must have wildcard record *.a1.myhosting.com pointed to IP. This feature is very handy when customer wants to test domain before dns migration.

v-add-sys-mail-dnsbl

Add dnsbl entry.

v-add-sys-mail-dnsbl HOST [RESTART]

Example:

v-add-sys-mail-dnsbl zen.spamhaus.org

This function adds a new DNSBL server for Exim to check.

v-add-sys-mail-sso

Set up webmail single sign-on.

v-add-sys-mail-sso NONE

Example:

v-add-sys-mail-sso

This function sets up the webmail sign-on of the panel: the second Dovecot passdb of session passwords (auth-arcpanel-sso.conf.ext and an empty /etc/dovecot/arcpanel-sso.passwd), the cron job that removes expired sessions, and the Roundcube plugin when Roundcube is installed. It can run on every install and upgrade.

v-add-sys-malware-scan

Turn the malware scan of web files on.

v-add-sys-malware-scan [MODE]

Example:

v-add-sys-malware-scan quiet

This function turns the malware scan plugin on (MALWARE_SCAN='yes') and adds the nightly incremental scan of every user (v-scan-sys-web) to the crontab of arcpanelweb. It can run again without harm.

v-add-sys-node

Set up the Node.js manager.

v-add-sys-node NONE

Example:

v-add-sys-node

This function prepares a server for per-user Node.js runtimes: the shared download cache, the keyring of the Node.js releasers, the release index, the daily refresh of the index and the "developer" package, plus the 5-minute v-check-sys-node repair job of Node.js apps. It is safe to run again and keeps packages an administrator has changed. NODE_RELEASES_URL, NODE_SCHEDULE_URL and NODE_NVM_URL in arcpanel.conf override the download locations (mirrors, tests).

v-add-sys-package

Install a system package of the catalog.

v-add-sys-package SLUG

Example:

v-add-sys-package python

This function installs the packages of a catalog entry that are missing on this server from the distribution's apt archive (apt-get update, then apt-get install without recommends; apt waits up to 300 seconds for its lock) and records them, so v-delete-sys-package removes only what ArcPanel installed. An entry that is partly installed gets its missing packages.

v-add-sys-panel-files

Set up the file transfers of the panel app.

v-add-sys-panel-files NONE

Example:

v-add-sys-panel-files

This function creates the staging tree of the file manager below the panel app's storage directory (uploads, editor saves and download tickets, owned by arcpanelweb, mode 0700) and adds the panel app's scheduler to the arcpanelweb crontab; the scheduler removes stale uploads and tickets. It is idempotent and runs on every upgrade.

v-add-sys-php-extension

Install a PHP extension for a version.

v-add-sys-php-extension VERSION NAME

Example:

v-add-sys-php-extension 8.4 redis

This function installs the Debian package of an extension of the catalog (install/common/php/extensions.conf) for one PHP version; the package enables the module for PHP-FPM and the CLI. A conflicting extension that is enabled stops the install. When php-fpm -t fails afterwards the package is removed again (E_INVALID); when PHP-FPM does not run after the reload, the package is removed and the service restarted (E_RESTART).

v-add-sys-php-profile

Add a PHP-FPM profile.

v-add-sys-php-profile NAME FILE

Example:

v-add-sys-php-profile shop /tmp/profile

This function adds a PHP-FPM profile. FILE holds KEY='value' lines with the keys DESCRIPTION, PM (ondemand, dynamic or static), MAX_CHILDREN (1-500), START_SERVERS, MIN_SPARE and MAX_SPARE (dynamic), MAX_REQUESTS (0-100000), IDLE_TIMEOUT (ondemand, like 10s), REQUEST_TERMINATE_TIMEOUT (empty or like 300s) and the PHP limits MEMORY_LIMIT, UPLOAD_MAX_FILESIZE, POST_MAX_SIZE, MAX_EXECUTION_TIME and MAX_INPUT_VARS (empty: from php.ini). It prints a warning when MAX_CHILDREN x MEMORY_LIMIT is above the server's memory.

v-add-sys-php-profiles

Set up the PHP-FPM profiles.

v-add-sys-php-profiles NONE

Example:

v-add-sys-php-profiles

This function creates the profile store ($ARCPANEL/data/php/profiles.conf) with the shipped profiles default, small, medium and large, and rewrites the pool templates of $ARCPANEL/data/templates/web/php-fpm that still carry the pool lines of ArcPanel 2.0.0 (pm = ondemand, 8 children, 4000 requests, 10s idle) to the %php_profile% placeholder. The default profile renders exactly those lines, so existing pools do not change. Templates an administrator changed are left alone. Safe to run on every upgrade.

v-add-sys-pma-restrict

Restrict phpMyAdmin access to ArcPanel Single Sign-On only.

v-add-sys-pma-restrict [mode]

Example:

v-add-sys-pma-restrict

This function blocks direct/anonymous access to phpMyAdmin. Without a valid ArcPanel SSO token or an already established SSO session, requests are redirected to the ArcPanel login page instead of falling back to phpMyAdmin's own login form.

v-add-sys-pma-sso

Enables support for single sign on phpMyAdmin.

v-add-sys-pma-sso [mode]

Example:

v-add-sys-pma-sso

This function enables support for SSO to phpMyAdmin

v-add-sys-port-registry

Set up the port registry.

v-add-sys-port-registry NONE

Example:

v-add-sys-port-registry

This function prepares a server for the port registry: the server range and the registry switch with their defaults, the registry directory, the list of reserved ports and the nightly reconciliation job. It is safe to run again and keeps values an administrator has changed.

v-add-sys-port-reserved

Reserve a port or range.

v-add-sys-port-reserved PORT|RANGE [COMMENT]

Example:

v-add-sys-port-reserved 31000-31009 'monitoring agents'

This function adds a port or a range to the ports the registry never hands out. The ports must not be allocated to a user.

v-add-sys-quota

Add system quota.

v-add-sys-quota NONE

Example:

v-add-sys-quota

This function enables filesystem quota on /home partition Supports XFS and ext4 (both external and native quotas)

v-add-sys-rclone

Install or update rclone.

v-add-sys-rclone NONE

Example:

v-add-sys-rclone

This function installs /usr/bin/rclone from the rclone release pinned in install/upgrade/upgrade.conf (rclone_v, rclone_sha256), when rclone is missing or older than that release. The archive is checked against its SHA-256 before it is unpacked. A current rclone is left alone, so the command is safe to run on every upgrade.

v-add-sys-roundcube

Install Roundcube webmail client.

v-add-sys-roundcube [MODE]

This function installs the Roundcube webmail client.

v-add-sys-secret-key

Set up the secret store.

v-add-sys-secret-key NONE

Example:

v-add-sys-secret-key

This function creates the master key of the secret store once: $ARCPANEL/data/secrets/.master/identity (an age identity, root 0400) and its public recipient. An existing key is kept, so the command is safe to run on every upgrade. Keep a copy of the identity off the server: without it no secret can be decrypted, also not from backups.

v-add-sys-sftp-jail

Add system sftp jail.

v-add-sys-sftp-jail [RESTART]

Example:

v-add-sys-sftp-jail yes

This function enables sftp jailed environment.

v-add-sys-smtp

Add SMTP Account for logging, notification and internal mail.

v-add-sys-smtp DOMAIN PORT SMTP_SECURITY USERNAME PASSWORD EMAIL

Example:

v-add-sys-smtp example.com 587 STARTTLS test@domain.com securepassword test@example.com

This function allows configuring a SMTP account for the server to use for logging, notification and warn emails etc.

v-add-sys-smtp-relay

Add system wide smtp relay support.

v-add-sys-smtp-relay HOST [USERNAME] [PASSWORD] [PORT]

Example:

v-add-sys-smtp-relay srv.smtprelay.tld uname123 pass12345

This function adds system wide smtp relay support.

v-add-sys-snappymail

Install SnappyMail webmail client.

v-add-sys-snappymail [MODE]

This function installs the SnappyMail webmail client.

v-add-sys-ssh-jail

Add system ssh jail.

v-add-sys-ssh-jail NONE

Example:

v-add-sys-ssh-jail

This function enables ssh jailed environment.

v-add-sys-tenancy

Set up resellers.

v-add-sys-tenancy NONE

Example:

v-add-sys-tenancy

This function prepares a server for resellers: the reseller policies with their defaults, the example "reseller" package and the daily job that updates the resellers' usage totals. It is safe to run again and keeps values an administrator has changed.

v-add-sys-tool-ports

Set up the tool ports.

v-add-sys-tool-ports NONE

Example:

v-add-sys-tool-ports

This function sets up the webmail port (8086) and the database tools port (8087) when arcpanel.conf has no key for them yet: a port is turned on when its tool is installed and the port is free, otherwise its key stays empty and a warning is printed. WEBMAIL_LINK starts as "port". It runs on every install and upgrade.

v-add-sys-web-templates-meta

Install the web template metadata and the ArcPanel web templates.

v-add-sys-web-templates-meta NONE

Example:

v-add-sys-web-templates-meta

This function copies the template metadata (templates/web/meta) and the templates ArcPanel ships for NGINX (static, spa, nodejs-proxy and the other templates, with their trigger scripts) from the installed package into the server's template folder, and the wp-login.php rate limit zone of the wordpress-secure template into /etc/nginx/conf.d when it is missing (NGINX is reloaded then). Other templates are not touched and no domain is rebuilt. Safe to run on every upgrade.

v-add-sys-web-terminal

Add system web terminal.

v-add-sys-web-terminal NONE

Example:

v-add-sys-web-terminal

This function enables the web terminal.

v-add-sys-web-terminal-key

Add the key of the web terminal tickets.

v-add-sys-web-terminal-key [ROTATE]

Example:

v-add-sys-web-terminal-key

This function writes the key with which the panel signs web terminal tickets and the web terminal server checks them, readable by root and the panel user only. It keeps an existing key unless ROTATE is "yes", and can run on every upgrade.

v-change-sys-api

Enable / Disable API access.

v-change-sys-api STATUS [VERSION]

Examples:

v-change-sys-api enable api
v-change-sys-api enable v1
v-change-sys-api enable legacy
v-change-sys-api enable all
v-change-sys-api disable

# Enable access keys and REST API v2 (API_SYSTEM) # Enable REST API v1 (lib/api, API_V1) # Enable REST API v1 with the legacy hash and password login (API) # All of the above

# Disable every API and clear the allowed addresses

The switches are configuration keys only; lib/api/index.php ships in the package and reads API_V1.

v-change-sys-arcpanel-ssl

Change arcpanel ssl certificate.

v-change-sys-arcpanel-ssl SSL_DIR [RESTART]

Example:

v-change-sys-arcpanel-ssl /home/new/dir/path yes

This function changes arcpanel SSL certificate and the key.

v-change-sys-config-value

Change sysconfig value.

v-change-sys-config-value KEY VALUE

Example:

v-change-sys-config-value VERSION 1.0

This function is for changing main config settings such as COMPANY_NAME or COMPANY_EMAIL and so on.

v-change-sys-db-admin-port

Change the database tools port.

v-change-sys-db-admin-port PORT|none

Example:

v-change-sys-db-admin-port 8087

This function serves phpMyAdmin and phpPgAdmin on PORT of every address of the server, with the panel certificate, or stops serving them there with "none". It moves the reservation and the firewall rule of the port.

v-change-sys-db-alias

Change phpmyadmin/phppgadmin alias url.

v-change-sys-db-alias TYPE ALIAS

Examples:

v-change-sys-db-alias pma phpmyadmin
v-change-sys-db-alias pga phppgadmin

# Sets phpMyAdmin alias to phpmyadmin

# Sets phpPgAdmin alias to phppgadmin

This function changes the database editor url in apache2 or nginx configuration.

v-change-sys-demo-mode

Enable or disable demo mode.

v-change-sys-demo-mode ACTIVE

This function will set the demo mode variable, which will prevent usage of certain v-scripts in the backend and prevent modification of objects in the control panel. It will also disable virtual hosts for Apache and NGINX for domains which have been created.

v-change-sys-hostname

Change hostname.

v-change-sys-hostname HOSTNAME

Example:

v-change-sys-hostname mydomain.tld

This function for changing system hostname.

v-change-sys-ip-name

Change IP name.

v-change-sys-ip-name IP NAME

Example:

v-change-sys-ip-name 203.0.113.1 acme.com

This function for changing dns domain associated with IP.

v-change-sys-ip-nat

Change NAT IP address.

v-change-sys-ip-nat IP NAT_IP [RESTART]

Example:

v-change-sys-ip-nat 10.0.0.1 203.0.113.1

This function for changing NAT IP associated with IP.

v-change-sys-ip-owner

Change IP owner.

v-change-sys-ip-owner IP USER

Example:

v-change-sys-ip-owner 203.0.113.1 admin

This function of changing IP address ownership.

v-change-sys-ip-status

Change IP status.

v-change-sys-ip-status IP IP_STATUS

Example:

v-change-sys-ip-status 203.0.113.1 yourstatus

This function of changing an IP address's status.

v-change-sys-language

Change sys language.

v-change-sys-language LANGUAGE [UPDATE_USERS]

Example:

v-change-sys-language ru

This function for changing system language.

v-change-sys-php

Change default php version server wide.

v-change-sys-php VERSION

v-change-sys-php-extension

Turn a PHP extension on or off.

v-change-sys-php-extension VERSION NAME STATE [SAPI]

Example:

v-change-sys-php-extension 8.4 xdebug off fpm

This function enables (on) or disables (off) the module of an installed extension of the catalog (install/common/php/extensions.conf) with phpenmod or phpdismod, for PHP-FPM (fpm), the command line (cli) or both (empty). Required extensions cannot be turned off; turning one on checks its conflicts. A PHP-FPM change is tested with php-fpm -t and a reload, a CLI change by starting the CLI binary; on a failure the change is undone (E_INVALID, or E_RESTART when PHP-FPM stopped).

v-change-sys-php-ini

Replace the php.ini of a PHP version.

v-change-sys-php-ini VERSION SAPI FILE

Example:

v-change-sys-php-ini 8.4 fpm /tmp/php.ini

This function replaces the PHP-FPM (fpm) or command line (cli) php.ini of an installed version with FILE. The file is validated first as v-check-sys-php-ini does: errors stop the change (E_INVALID, with the findings), warnings are printed and accepted. The current file is backed up (the ten newest backups are kept), the new one is moved into place and, for fpm, PHP-FPM is reloaded; when it does not run afterwards the previous file comes back (E_RESTART).

v-change-sys-php-ini-values

Change php.ini directives of a PHP version.

v-change-sys-php-ini-values VERSION SAPI FILE

Example:

v-change-sys-php-ini-values 8.4 fpm /tmp/values

This function changes directives of the php.ini form in the PHP-FPM (fpm) or command line (cli) php.ini of an installed version. FILE holds directive=value lines (memory_limit=256M); each directive is replaced in place, or added at the end of the [PHP] section when the file does not set it, and comments are kept. The result is validated, saved and applied as v-change-sys-php-ini does.

v-change-sys-php-profile

Change a PHP-FPM profile.

v-change-sys-php-profile NAME FILE [RESTART]

Example:

v-change-sys-php-profile medium /tmp/profile

This function changes a PHP-FPM profile from FILE (the KEY='value' lines of v-add-sys-php-profile), rewrites the pool of every web domain that uses it and reloads the PHP-FPM versions concerned (unless RESTART is no). When a version does not run after the reload, the previous profile and pools come back (E_RESTART).

v-change-sys-port

Change system backend port.

v-change-sys-port PORT

Example:

v-change-sys-port 5678

This function for changing the system backend port in NGINX configuration.

v-change-sys-port-range

Change the server port range.

v-change-sys-port-range START END

Example:

v-change-sys-port-range 30000 39999

This function changes the range the port registry allocates from. It refuses a range that would leave allocated ports outside.

v-change-sys-release

Update web templates.

v-change-sys-release [RESTART]

This function for changing the release branch for the ArcPanel Control Panel. This allows the user to switch between stable and pre-release builds which will automatically update based on the appropriate release schedule if auto-update is turned on.

v-change-sys-service-config

Change service config.

v-change-sys-service-config CONFIG SERVICE [RESTART]

Example:

v-change-sys-service-config /home/admin/dovecot.conf dovecot yes

This function for changing service configuration.

v-change-sys-timezone

Change system timezone.

v-change-sys-timezone TIMEZONE

Example:

v-change-sys-timezone Europe/Berlin

This function for changing system timezone.

v-change-sys-web-terminal-port

Change system web terminal backend port.

v-change-sys-web-terminal-port PORT

Example:

v-change-sys-web-terminal-port 5678

This function for changing the system's web terminal backend port in NGINX configuration.

v-change-sys-webmail

Change webmail alias url.

v-change-sys-webmail WEBMAIL

Example:

v-change-sys-webmail YourtrickyURLhere

This function changes the webmail url in apache2 or nginx configuration.

Change the webmail link of the panel.

v-change-sys-webmail-link port|domain

Example:

v-change-sys-webmail-link domain

This function sets where "Open Webmail" points: "port" opens the webmail port of the panel host, "domain" opens webmail.<domain>.

v-change-sys-webmail-port

Change the webmail port.

v-change-sys-webmail-port PORT|none

Example:

v-change-sys-webmail-port 8086

This function serves the webmail client on PORT of every address of the server, with the panel certificate, or stops serving it there with "none". It moves the reservation and the firewall rule of the port.

v-check-sys-app-processes

Check the app processes of all users.

v-check-sys-app-processes [MODE] [FORMAT]

Examples:

v-check-sys-app-processes
v-check-sys-app-processes repair
v-check-sys-app-processes check json

This function looks for app processes that do not match their records: import (a copy in a domain's app-process/ folder without a record, after a restore), domain-missing (the web domain was deleted), unit-missing (a record without its unit), unit-orphan (a unit without a record), process-down (a process that should run does not), process-failed (it stopped after too many restarts), process-suspended (a process of a suspended user or domain runs) and over-limit (more processes than APP_PROCESSES_MAX, reported only). MODE repair (run every 5 minutes from cron) fixes all but over-limit with v-rebuild-app-processes. The totals are the users with processes, the processes, those running and their memory in MB.

v-check-sys-docker

Check the Docker apps of all users.

v-check-sys-docker [MODE] [FORMAT]

Examples:

v-check-sys-docker
v-check-sys-docker repair json

This function compares the Docker apps of every user with their records and reports: import (an app.conf copy without a record, after a restore), suspended-running (a suspended app with running containers), domain-missing (the web domain of an app was deleted), stopped (an app that should run has no running container), public-mismatch (a port was made public or private in the registry), orphan (containers of ArcPanel projects without a record or of deleted users) and disk (the data root is more than 85 % full). MODE repair (run every 5 minutes from cron) fixes them: rebuild, stop, delete the app of a missing domain (data kept), start, render again, remove the orphan containers; it also prunes unused images older than 7 days. The result is written to data/docker/report.json.

v-check-sys-node

Check the Node.js apps and pm2 daemons of all users.

v-check-sys-node [MODE] [FORMAT]

Examples:

v-check-sys-node
v-check-sys-node repair
v-check-sys-node check json

This function looks for apps and daemons that do not match their records: import (an app.conf copy without a record, after a restore), daemon-down (apps should run but the user's daemon does not), app-missing (an app that should run is not in pm2), daemon-suspended (a suspended user's daemon runs), linger-orphan (daemon files of a user without apps), runtime-missing (the runtime of an app is not installed), domain-missing (the web domain of an app was deleted) and over-limit (more apps than NODE_APPS, reported only). MODE repair (run every 5 minutes from cron) fixes all but over-limit. The totals are the users with apps, the running daemons, the apps and the memory of the daemons in MB.

v-check-sys-packages

Check the system package catalog.

v-check-sys-packages [DIR] [FORMAT]

Examples:

v-check-sys-packages
v-check-sys-packages /root/my-catalog json

This function validates every manifest of a system package catalog (default: the catalog shipped with ArcPanel) against the manifest format: keys, slug equal to the file name, name, summary, category, package names, release overrides and provided runtimes. Exits with E_INVALID when a manifest is refused.

v-check-sys-php-ini

Check a php.ini candidate without saving it.

v-check-sys-php-ini VERSION SAPI FILE [FORMAT] [MODE]

Examples:

v-check-sys-php-ini 8.4 fpm /tmp/php.ini json
v-check-sys-php-ini 8.4 fpm /tmp/values json values

This function validates a candidate php.ini for the PHP-FPM (fpm) or command line (cli) of an installed version, as v-change-sys-php-ini does before saving: the syntax with the version's parser, the values of known directives, unknown directives (warnings), a start of PHP with the file and, for fpm, php-fpm -t. It prints the findings with their line (json: an array of {line, level, directive, message}, level error or warning) and exits 0 when the check ran; the file is valid when no finding is an error. With MODE values, FILE holds directive=value lines that are applied to the current php.ini first, as v-change-sys-php-ini-values does.

v-check-sys-ports

Reconcile the port registry with the server.

v-check-sys-ports [notify|repair]

Example:

v-check-sys-ports repair

This function compares the registry with the listening sockets and the firewall rules, prints the findings and writes them to data/ports/.report.json. With "notify", the administrator gets one notification when there are findings. With "repair", missing firewall rules of public ports are written, stale tagged rules are deleted, the files of users that no longer exist are archived and ports of web domains that no longer use them (orphan-web) are released.

v-delete-sys-api-ip

Delete ip address from allowed ip list api.

v-delete-sys-api-ip IP

Example:

v-delete-sys-api-ip 1.1.1.1

v-delete-sys-cgroups

Delete all cgroups.

v-delete-sys-cgroups NONE

Example:

v-delete-sys-cgroups

This function disables cgroups

v-delete-sys-docker

Stop the Docker engine of Docker apps.

v-delete-sys-docker [PURGE]

Examples:

v-delete-sys-docker
v-delete-sys-docker purge

This function stops and disables the Docker engine and sets DOCKER_SYSTEM to no. It refuses while a user has Docker apps. With PURGE (purge) it also removes the Docker packages, the repository and the data root with every image.

v-delete-sys-filemanager

Disable the file manager of the panel.

v-delete-sys-filemanager [MODE]

Example:

v-delete-sys-filemanager

This function turns the file manager of the panel app off (FILE_MANAGER) and removes what is left of the FileGator install of ArcPanel 1.x.

v-delete-sys-firewall

Delete system firewall.

v-delete-sys-firewall NONE

Example:

v-delete-sys-firewall

This function disables firewall support

v-delete-sys-ip

Delete system IP.

v-delete-sys-ip IP

Example:

v-delete-sys-ip 203.0.113.1

This function for deleting a system IP. It does not allow to delete first IP on interface and do not allow to delete IP which is used by a web domain.

v-delete-sys-mail-dnsbl

Delete dnsbl entry.

v-delete-sys-mail-dnsbl HOST [RESTART]

Example:

v-delete-sys-mail-dnsbl zen.spamhaus.org

This function deletes a DNSBL server from Exim.

v-delete-sys-mail-queue

Delete exim mail queue.

v-delete-sys-mail-queue none

Example:

v-delete-sys-mail-queue

This function checks for messages stuck in the exim mail queue and prompts the user to clear the queue if desired.

v-delete-sys-malware-scan

Turn the malware scan of web files off.

v-delete-sys-malware-scan [MODE]

Example:

v-delete-sys-malware-scan quiet

This function turns the malware scan plugin off (MALWARE_SCAN='no') and removes the nightly scan from the crontab of arcpanelweb. Findings, quarantined files and ignore lists are kept.

v-delete-sys-node-cache

Delete Node.js tarballs from the download cache.

v-delete-sys-node-cache [VERSION]

Example:

v-delete-sys-node-cache 22.3.0

This function removes one cached Node.js version, or every cached version when VERSION is omitted. Runtimes users have installed are not affected; the next install of a removed version downloads it again.

v-delete-sys-package

Remove a system package of the catalog.

v-delete-sys-package SLUG [FORCE]

Examples:

v-delete-sys-package ruby
v-delete-sys-package python force

This function removes the packages that v-add-sys-package installed for a catalog entry (apt-get remove, no autoremove); packages that were on the server before, and packages another entry recorded, stay. It refuses an entry that ArcPanel did not install and, unless FORCE is "force", an entry whose runtime is needed by the template of a web domain.

v-delete-sys-php-extension

Remove a PHP extension of a version.

v-delete-sys-php-extension VERSION NAME

Example:

v-delete-sys-php-extension 8.4 redis

This function purges the Debian package of an extension of the catalog (install/common/php/extensions.conf) for one PHP version and reloads PHP-FPM. Required extensions and modules that ship with PHP (toggle only) cannot be removed; neither can a package that other installed packages need (E_INUSE, naming them).

v-delete-sys-php-profile

Delete a PHP-FPM profile.

v-delete-sys-php-profile NAME [FORCE]

Example:

v-delete-sys-php-profile shop yes

This function deletes a PHP-FPM profile. The default profile cannot be deleted. A profile that web domains use or that packages name is refused (E_INUSE, with the list) unless FORCE is yes: the domains then move to the default profile and the packages no longer name it.

v-delete-sys-pma-restrict

Undo phpMyAdmin access restriction, allow its normal login form again.

v-delete-sys-pma-restrict [mode]

Example:

v-delete-sys-pma-restrict

Reverts v-add-sys-pma-restrict: phpMyAdmin falls back to its own login form again when no valid ArcPanel SSO token or session is present.

v-delete-sys-pma-sso

Disables support for single sign on PHPMYADMIN.

v-delete-sys-pma-sso [mode]

Example:

v-delete-sys-pma-sso

Disables support for SSO to phpMyAdmin

v-delete-sys-port-reserved

Delete a reserved port or range.

v-delete-sys-port-reserved PORT|RANGE

Example:

v-delete-sys-port-reserved 31000-31009

This function removes a reservation an administrator added (or one taken from a listening socket at setup). Reservations of the panel and its services cannot be removed.

v-delete-sys-quota

Delete system quota.

v-delete-sys-quota NONE

Example:

v-delete-sys-quota

This function disables filesystem quota on /home partition

v-delete-sys-sftp-jail

Delete system sftp jail.

v-delete-sys-sftp-jail NONE

Example:

v-delete-sys-sftp-jail

This function disables sftp jailed environment

v-delete-sys-smtp

Remove SMTP Account for logging, notification and internal mail.

v-delete-sys-smtp NONE

Example:

v-delete-sys-smtp

This function allows configuring a SMTP account for the server to use for logging, notification and warn emails etc.

v-delete-sys-smtp-relay

Disable system wide smtp relay support.

v-delete-sys-smtp-relay

Example:

v-delete-sys-smtp-relay

This function disables system wide smtp relay support.

v-delete-sys-snappymail

Delete SnappyMail webmail client.

v-delete-sys-snappymail None

This function removes the SnappyMail webmail client. ----------------------------------------------------------# Variables & Functions # ----------------------------------------------------------# Includes shellcheck source=/etc/arcpanel/arcpanel.conf

v-delete-sys-ssh-jail

Delete system ssh jail.

v-delete-sys-ssh-jail NONE

Example:

v-delete-sys-ssh-jail

This function disables ssh jailed environment

v-delete-sys-web-terminal

Delete web terminal.

v-delete-sys-web-terminal NONE

Example:

v-delete-sys-web-terminal

This function disables the web terminal.

v-export-rrd

Export rrd charts as json.

v-export-rrd [CHART] [TIMESPAN]

Example:

v-export-rrd chart format

v-get-sys-timezone

Get system timezone.

v-get-sys-timezone [FORMAT]

This function to get system timezone

v-get-sys-timezones

List system timezone.

v-get-sys-timezones [FORMAT]

Example:

v-get-sys-timezones json

This function checks system timezone settings

v-list-default-php

List default PHP version used by default.tpl.

v-list-default-php [FORMAT]

Example:

v-list-default-php

List the default version used by the default template

v-list-sys-arcpanel-autoupdate

List arcpanel autoupdate settings.

v-list-sys-arcpanel-autoupdate [FORMAT]

Example:

v-list-sys-arcpanel-autoupdate

This function for obtaining autoupdate settings.

v-list-sys-arcpanel-ssl

List arcpanel ssl certificate.

v-list-sys-arcpanel-ssl [FORMAT]

Example:

v-list-sys-arcpanel-ssl

This function of obtaining arcpanel ssl files.

v-list-sys-arcpanel-updates

List system updates.

v-list-sys-arcpanel-updates [FORMAT]

Example:

v-list-sys-arcpanel-updates

This function checks available updates for arcpanel packages.

v-list-sys-backups

List the backup archives of every user.

v-list-sys-backups [OWNER] [UPDATED_SINCE] [FORMAT]

Examples:

v-list-sys-backups '' '' json
v-list-sys-backups reseller1 1792231200 json

This function lists the backup archives of every user, or of OWNER and, when OWNER is a reseller, its customers, read in one process. The json format prints AS_OF (the Unix time the listing started), USERS (every user in scope), CHANGED_USERS and OBJECTS: the backup archives of each changed user as v-list-user-backups prints them. Without UPDATED_SINCE (a Unix time) every user is changed; with it, only the users whose backup.conf was modified at or after that time.

v-list-sys-clamd-config

List clamd config parameters.

v-list-sys-clamd-config [FORMAT]

Example:

v-list-sys-clamd-config

This function for obtaining the list of clamd config parameters.

v-list-sys-config

List system configuration.

v-list-sys-config [FORMAT]

Example:

v-list-sys-config json

This function for obtaining the list of system parameters.

v-list-sys-cpu-status

List system cpu info.

v-list-sys-cpu-status

Example:

v-list-sys-cpu-status

This function lists cpu information

v-list-sys-cron-jobs

List the cron jobs of every user.

v-list-sys-cron-jobs [OWNER] [UPDATED_SINCE] [FORMAT]

Examples:

v-list-sys-cron-jobs '' '' json
v-list-sys-cron-jobs reseller1 1792231200 json

This function lists the cron jobs of every user, or of OWNER and, when OWNER is a reseller, its customers, read in one process. The json format prints AS_OF (the Unix time the listing started), USERS (every user in scope), CHANGED_USERS and OBJECTS: the cron jobs of each changed user as v-list-cron-jobs prints them. Without UPDATED_SINCE (a Unix time) every user is changed; with it, only the users whose cron.conf was modified at or after that time.

v-list-sys-databases

List the databases of every user.

v-list-sys-databases [OWNER] [UPDATED_SINCE] [FORMAT]

Examples:

v-list-sys-databases '' '' json
v-list-sys-databases reseller1 1792231200 json

This function lists the databases of every user, or of OWNER and, when OWNER is a reseller, its customers, read in one process. The json format prints AS_OF (the Unix time the listing started), USERS (every user in scope), CHANGED_USERS and OBJECTS: the databases of each changed user as v-list-databases prints them. Without UPDATED_SINCE (a Unix time) every user is changed; with it, only the users whose db.conf was modified at or after that time.

v-list-sys-db-status

List db status.

v-list-sys-db-status

v-list-sys-db-status

This function lists db server status

v-list-sys-disk-status

List disk information.

v-list-sys-disk-status

Example:

v-list-sys-disk-status

This function lists disk information

v-list-sys-dns-status

List dns status.

v-list-sys-dns-status

Example:

v-list-sys-dns-status

This function lists dns server status

v-list-sys-docker

Show the state of the Docker engine of Docker apps.

v-list-sys-docker [FORMAT]

Example:

v-list-sys-docker json

This function prints whether the engine is installed (SYSTEM) and running, its versions, the data root with its used and free space in MB, the numbers of images, containers, apps and users with apps, and the last report of v-check-sys-docker (REPORT, JSON).

v-list-sys-docker-task

Show the Docker engine task.

v-list-sys-docker-task [OFFSET] [FORMAT]

Example:

v-list-sys-docker-task 0 json

This function prints the record of the engine task (ID, ACTION, STATUS, EXIT, START, END) and its output after byte OFFSET (default 0, at most 256 KB) with the next OFFSET. STATUS is running, done or failed; a running task whose process is gone is reported as failed. Without a task, STATUS is empty.

v-list-sys-dovecot-config

List dovecot config parameters.

v-list-sys-dovecot-config [FORMAT]

Example:

v-list-sys-dovecot-config

This function for obtaining the list of dovecot config parameters.

v-list-sys-info

List system os.

v-list-sys-info [FORMAT]

Example:

v-list-sys-info

This function checks available updates for arcpanel packages.

v-list-sys-interfaces

List system interfaces.

v-list-sys-interfaces [FORMAT]

Example:

v-list-sys-interfaces

This function for obtaining the list of network interfaces.

v-list-sys-ip

List system IP.

v-list-sys-ip IP [FORMAT]

Example:

v-list-sys-ip 203.0.113.1

This function for getting the list of system IP parameters.

v-list-sys-ips

List system IPs.

v-list-sys-ips [FORMAT]

Example:

v-list-sys-ips

This function for obtaining the list of system IP addresses.

v-list-sys-languages

List system languages.

v-list-sys-languages [FORMAT]

Example:

v-list-sys-languages json

This function for obtaining the available languages for ArcPanel Output is always in the ISO language code

v-list-sys-mail-dnsbl

List dnsbl config parameters.

v-list-sys-mail-dnsbl [FORMAT]

Example:

v-list-sys-mail-dnsbl

This function lists the active DNSBL servers used by Exim.

v-list-sys-mail-status

List mail status.

v-list-sys-mail-status

Example:

v-list-sys-mail-status

This function lists mail server status

v-list-sys-malware-summary

List the malware scan state of every user.

v-list-sys-malware-summary [FORMAT]

Example:

v-list-sys-malware-summary json

This function prints one row per user: USER, FINDINGS, CRITICAL, HIGH, MEDIUM (open findings), QUARANTINED, LAST_SCAN (start of the newest scan) and LAST_STATUS. Users that were never scanned have zeros and empty values. The panel narrows the list to the users a principal may see.

v-list-sys-memory-status

List virtual memory info.

v-list-sys-memory-status

Example:

v-list-sys-memory-status

This function lists virtual memory information

v-list-sys-mysql-config

List mysql config parameters.

v-list-sys-mysql-config [FORMAT]

Example:

v-list-sys-mysql-config

This function for obtaining the list of mysql config parameters.

v-list-sys-network-status

List system network status.

v-list-sys-network-status

Example:

v-list-sys-network-status

This function lists network status

v-list-sys-nginx-config

List nginx config parameters.

v-list-sys-nginx-config [FORMAT]

Example:

v-list-sys-nginx-config

This function for obtaining the list of nginx config parameters.

v-list-sys-node-apps

List the Node.js apps of every user.

v-list-sys-node-apps [OWNER] [UPDATED_SINCE] [FORMAT]

Examples:

v-list-sys-node-apps '' '' json
v-list-sys-node-apps reseller1 1792231200 json

This function lists the Node.js apps of every user, or of OWNER and, when OWNER is a reseller, its customers, read in one process from their records: the json format prints AS_OF (the Unix time the listing started), USERS (every user in scope), CHANGED_USERS and OBJECTS, the records of each changed user with the keys of nodeapps.conf. The live state of pm2 (STATUS, PID, CPU and the rest of v-list-node-apps) is not read. Without UPDATED_SINCE (a Unix time) every user is changed; with it, only the users whose nodeapps.conf, or user directory when the file is missing, was modified at or after that time.

v-list-sys-node-releases

List the Node.js majors that can be installed.

v-list-sys-node-releases [FORMAT]

Example:

v-list-sys-node-releases json

This function lists one row per Node.js major (18 and later) built for the server's architecture: MAJOR, LATEST (newest X.Y.Z), LTS (codename), STATUS (current, active, maintenance or eol), EOL (date) and CACHED (yes when LATEST is in the download cache). The index is downloaded when the cache has none yet.

v-list-sys-packages

List the system packages of the catalog.

v-list-sys-packages [FORMAT] [SCOPE]

Examples:

v-list-sys-packages
v-list-sys-packages json
v-list-sys-packages json installed

This function lists every entry of the system package catalog with its state on this server: the packages it installs on this release, whether it is available here, STATUS (installed, partial or missing), SOURCE (arcpanel when ArcPanel installed it, system when it was there before, "-" otherwise), the version, whether apt's local lists have an update (UPGRADABLE) and the web domains whose template needs a runtime it provides (DOMAINS, USED_BY). SCOPE "installed" lists only the installed and partial entries and skips the slow checks for the panel's runtime badges: UPGRADABLE is "no" and DOMAINS empty.

v-list-sys-pgsql-config

List postgresql config parameters.

v-list-sys-pgsql-config [FORMAT]

Example:

v-list-sys-pgsql-config

This function for obtaining the list of postgresql config parameters.

v-list-sys-php

Listing available PHP versions installed.

v-list-sys-php [FORMAT]

Example:

v-list-sys-php

List /etc/php/* version check if folder fpm is available

v-list-sys-php-config

List php config parameters.

v-list-sys-php-config [FORMAT]

Example:

v-list-sys-php-config

This function for obtaining the list of php config parameters of the default PHP version (REST API v1). The PHP Manager lists every version with v-list-sys-php-ini.

v-list-sys-php-extensions

List the PHP extensions of a version.

v-list-sys-php-extensions VERSION [FORMAT]

Example:

v-list-sys-php-extensions 8.4 json

This function lists the extension catalog entries (install/common/php/extensions.conf) that apply to an installed PHP version, with INSTALLED and AVAILABLE (yes or no), FPM and CLI (on or off, whether the module is enabled for that SAPI), BUILTIN ('yes' for a module compiled into the PHP binary, always on) and CATALOG='yes', followed by the modules enabled on the server that the catalog does not list (CATALOG='no', read only).

v-list-sys-php-ini

List the php.ini settings of a PHP version.

v-list-sys-php-ini VERSION SAPI [FORMAT]

Example:

v-list-sys-php-ini 8.4 fpm json

This function lists the directives of the php.ini form for the PHP-FPM (fpm) or command line (cli) php.ini of an installed version: VALUE, SOURCE (file, or default when the file does not set it) and LINE, with the file's path, SIZE and MTIME. The format raw prints the file itself.

v-list-sys-php-ini-backups

List the php.ini backups of a PHP version.

v-list-sys-php-ini-backups VERSION SAPI [FORMAT]

Example:

v-list-sys-php-ini-backups 8.4 fpm json

This function lists the backups that the php.ini commands keep of the PHP-FPM (fpm) or command line (cli) php.ini of a version (the ten newest), newest first, with their DATE and SIZE. The ID is what v-rollback-sys-php-ini takes.

v-list-sys-php-profile

List one PHP-FPM profile.

v-list-sys-php-profile NAME [FORMAT]

Example:

v-list-sys-php-profile medium json

This function lists a PHP-FPM profile with its pool settings, PHP limits, DOMAINS (the number of web domain pools that use it), PACKAGES (the packages that allow it) and BLOCK (the lines it writes into a pool).

v-list-sys-php-profiles

List the PHP-FPM profiles.

v-list-sys-php-profiles [FORMAT]

Example:

v-list-sys-php-profiles json

This function lists the PHP-FPM profiles with their pool settings and PHP limits, DOMAINS (the number of web domain pools that use the profile) and PACKAGES (the packages that allow it, comma-separated).

v-list-sys-php-versions

List the PHP versions the panel knows and their state.

v-list-sys-php-versions [FORMAT]

Example:

v-list-sys-php-versions json

This function lists every version of the PHP version catalog (install/common/php/versions.conf) and any installed version the catalog does not list, with INSTALLED (yes or no), DEFAULT (yes for the version of the system php binary), USED_BY (the USER/DOMAIN web domains whose backend template uses it, comma-separated), STATUS (active, security, eol or unknown), RELEASED, ACTIVE_UNTIL, EOL, INSTALLABLE (the catalog allows new installs), AVAILABLE (the PHP repository of the server provides it) and EXTENSIONS (the number of modules enabled for PHP-FPM).

v-list-sys-ports

List the port registry of the server.

v-list-sys-ports [FORMAT] [orphans]

Example:

v-list-sys-ports json

This function lists every allocated port with its owner, the reserved ports, the sockets listening in the server range with the account that runs them, a summary per user and the reconciliation findings (orphan sockets, missing or stale firewall rules, ...). With "orphans", only the findings are listed.

v-list-sys-proftpd-config

List proftpd config parameters.

v-list-sys-proftpd-config [FORMAT]

Example:

v-list-sys-proftpd-config

This function for obtaining the list of proftpd config parameters.

v-list-sys-rrd

List system rrd charts.

v-list-sys-rrd [FORMAT]

Example:

v-list-sys-rrd

List available rrd graphics, its titles and paths.

v-list-sys-service-log

List the last lines of a service's journal.

v-list-sys-service-log SERVICE [LINES] [FORMAT]

Example:

v-list-sys-service-log nginx 50 json

This function prints the last LINES lines (default 100, at most 500) of the systemd journal of a service that v-list-sys-services lists, for diagnosis. The service name is its unit, as for v-start-service, v-stop-service and v-restart-service, except the web terminal, whose unit is arcpanel-web-terminal. A firewall without a unit has no lines. The lines may contain addresses and paths.

v-list-sys-services

List system services.

v-list-sys-services [FORMAT]

Example:

v-list-sys-services json

This function for obtaining the list of configured system services.

v-list-sys-shells

List system shells.

v-list-sys-shells [FORMAT]

Example:

v-list-sys-shells

This function for obtaining the list of system shells.

v-list-sys-spamd-config

List spamassassin config parameters.

v-list-sys-spamd-config [FORMAT]

Example:

v-list-sys-spamd-config

This function for obtaining the list of spamassassin config parameters.

v-list-sys-sshd-port

List sshd port.

v-list-sys-sshd-port [FORMAT]

Example:

v-list-sys-sshd-port

This function for obtainings the port of sshd listens to

v-list-sys-task

Show the current or last system task.

v-list-sys-task [LINES] [FORMAT]

Example:

v-list-sys-task 100 json

This function prints the task record (ID, KIND, ARGS, STATUS, EXIT, START, END) and the last LINES lines of its output (default 100, at most 1000). STATUS is running, done or failed; a running task whose runner is gone is reported, and stored, as failed. Without a task, STATUS is empty.

v-list-sys-themes

List system themes.

v-list-sys-themes [FORMAT]

Example:

v-list-sys-themes

This function for obtaining the list of themes in the theme library and displaying them in the backend or user interface.

v-list-sys-users

List system users.

v-list-sys-users [FORMAT]

Example:

v-list-sys-users

This function for obtaining the list of system users without detailed information.

v-list-sys-vsftpd-config

List vsftpd config parameters.

v-list-sys-vsftpd-config [FORMAT]

Example:

v-list-sys-vsftpd-config

This function for obtaining the list of vsftpd config parameters.

v-list-sys-web-domains

List the web domains of every user.

v-list-sys-web-domains [OWNER] [UPDATED_SINCE] [FORMAT]

Examples:

v-list-sys-web-domains '' '' json
v-list-sys-web-domains reseller1 1792231200 json

This function lists the web domains of every user, or of OWNER and, when OWNER is a reseller, its customers, read in one process. The json format prints AS_OF (the Unix time the listing started), USERS (every user in scope), CHANGED_USERS and OBJECTS: the web domains of each changed user as v-list-web-domains prints them. Without UPDATED_SINCE (a Unix time) every user is changed; with it, only the users whose web.conf was modified at or after that time.

v-list-sys-web-status

List web status.

v-list-sys-web-status

Example:

v-list-sys-web-status

This function lists web server status

v-list-sys-webmail

Listing available webmail clients.

v-list-sys-webmail [FORMAT]

Example:

v-list-sys-webmail

labels: arcpanel mail

List available webmail clients

v-log-action

Adds action event to user or system log.

v-log-action LOG_TYPE USER

v-log-sys-login-failure

Log a failed panel login that names no valid user.

v-log-sys-login-failure IP [REASON]

Example:

v-log-sys-login-failure 203.0.113.7 'Invalid user name'

This function writes a failed login to the auth log for a user name that no other command accepts, so fail2ban counts it like any other failure.

v-quick-install-app

No description in the command header.

v-quick-install-app

v-rebuild-all

Rebuild all assets for a specified user.

v-rebuild-all USER [RESTART]

This function rebuilds all assets for a user account:

  • Web domains - DNS zones - Mail domains - Databases - Cron Jobs - User account configuration

v-refresh-sys-theme

Change active system theme.

v-refresh-sys-theme NONE

Example:

v-refresh-sys-theme

This function for changing the currently active system theme.

v-repair-sys-config

Restore system configuration.

v-repair-sys-config [SYSTEM]

Example:

v-repair-sys-config

This function repairs or restores the system configuration file.

v-restart-ftp

Restart ftp service.

v-restart-ftp NONE

Example:

v-restart-ftp

This function tells ftp server to reread its configuration.

v-restart-service

Restart service.

v-restart-service SERVICE [RESTART]

Example:

v-restart-service apache2

This function restarts system service. The panel's own unit (arcpanel) is restarted two seconds later in the background, so the caller gets its answer.

v-restart-system

Restart operating system.

v-restart-system RESTART [DELAY]

Example:

v-restart-system yes

This function restarts operating system.

v-rollback-sys-php-ini

Restore a php.ini backup of a PHP version.

v-rollback-sys-php-ini VERSION SAPI ID

Example:

v-rollback-sys-php-ini 8.4 fpm 20261012-143000

This function restores a backup listed by v-list-sys-php-ini-backups. The backup is validated and applied as v-change-sys-php-ini does, so the current file is backed up first and the history only moves forward.

v-run-cli-cmd

Run cli command.

v-run-cli-cmd USER CMD [ARG...]

Example:

v-run-cli-cmd user composer require package

This function runs a limited list of cli commands with dropped privileges as the specific arcpanel user

v-run-queue-task

Run a queued command and record its result.

v-run-queue-task USER ID -- COMMAND [ARG…]

Example:

v-run-queue-task admin 17280000001234 -- /usr/local/arcpanel/bin/v-backup-user admin yes

This function runs one command that a v-schedule-* script queued. The record must exist and be queued. The command's output is appended to the task log and also written to standard output, so the redirection on the queue line (>> $ARCPANEL/log/backup.log and the others) still receives it.

When the command fails and its line is still in the pipe, the record is queued again (ERROR, ATTEMPTS) and the next pass of the queue retries it, as the queue did before the records. A line whose record is missing or finished is removed without running anything.

v-run-sys-docker-task

Run the Docker engine task started by v-start-sys-docker-task.

v-run-sys-docker-task ID [DATA_ROOT]

Example:

v-run-sys-docker-task 17286400001234

This function is the background part of v-start-sys-docker-task: it runs v-add-sys-docker and records the result. It refuses to run a task that v-start-sys-docker-task did not start.

v-run-sys-task

Run a system task started by v-start-sys-task.

v-run-sys-task ID

Example:

v-run-sys-task 17286400001234

This function is the background part of v-start-sys-task: it runs the steps of the task, prints "$ COMMAND" before each, stops at the first failure and records the result. It refuses to run a task that v-start-sys-task did not start.

v-scan-sys-web

Scan the web files of every user for malware.

v-scan-sys-web NONE

Example:

v-scan-sys-web

This function is the nightly run of the malware scan: an incremental scan (v-scan-user-web USER '' incremental nightly) of every user, one after the other. A user whose scan is already running is skipped. When the run finds new suspicious files, the administrator gets one e-mail with the number of new findings per user and domain (no file names, no contents). Prints one line per user.

v-search-command

Search for available commands.

v-search-command ARG1 [ARG...]

Example:

v-search-command web

This function searches for available ArcPanel Control Panel commands and returns results based on the specified criteria. Originally developed for VestaCP by Federico Krum <https://github.com/FastDigitalOceanDroplets/VestaCP/blob/master/files/v-search-command>

v-search-object

Search objects.

v-search-object OBJECT [FORMAT]

Example:

v-search-object example.com json

This function that allows to find system objects.

v-start-service

Start service.

v-start-service SERVICE

Example:

v-start-service mysql

This function starts system service.

v-start-sys-docker-task

Install the Docker engine in the background.

v-start-sys-docker-task [DATA_ROOT]

Example:

v-start-sys-docker-task

This function starts v-add-sys-docker detached from the caller, for the admin Docker page, and prints the task ID. The state and the output are read with v-list-sys-docker-task. One engine task runs at a time.

v-start-sys-task

Start a long server operation in the background.

v-start-sys-task KIND [ARG...]

Examples:

v-start-sys-task php 8.3,8.4 -
v-start-sys-task php-ext 8.4 redis,apcu -
v-start-sys-task plugin web-terminal on
v-start-sys-task arcpanel-update arcpanel
v-start-sys-task package python add

This function checks a system task and starts v-run-sys-task in a transient systemd unit (arcpanel-sys-task-ID), so the task outlives a restart of the panel, and prints the task ID. One task runs at a time. Kinds and arguments: php ADD DELETE PHP versions to install and to remove, comma lists or "-"; a version in use by a web domain or the system default is not removed php-ext VERSION ADD DELETE PHP extensions of one installed version to install and to remove, comma lists of catalog names or "-" plugin NAME on|off filemanager, web-terminal, quota, cgroups, firewall or malware-scan: v-add-sys-NAME or v-delete-sys-NAME arcpanel-update [PACKAGE] v-update-sys-arcpanel PACKAGE, or every package package SLUG add|delete v-add-sys-package or v-delete-sys-package of a system package of the catalog The state and the output are read with v-list-sys-task.

v-stop-service

Stop service.

v-stop-service SERVICE

Example:

v-stop-service apache2

This function stops system service.

v-update-host-certificate

Update host certificate for arcpanel.

v-update-host-certificate USER HOSTNAME

Example:

v-update-host-certificate admin example.com

This function updates the SSL certificate used for ArcPanel Control Panel.

v-update-sys-arcpanel

Update arcpanel package/configs.

v-update-sys-arcpanel PACKAGE [VERSION]

Examples:

v-update-sys-arcpanel arcpanel-php
v-update-sys-arcpanel arcpanel 2.2.2-1+ubuntu24.04

This function installs the newest version of an ArcPanel package from the ArcPanel APT repository, or VERSION when given. Valid packages: arcpanel, arcpanel-nginx, arcpanel-php and arcpanel-web-terminal. The output of apt-get is printed.

v-update-sys-arcpanel-all

Update all arcpanel packages.

v-update-sys-arcpanel-all [MODE]

Examples:

v-update-sys-arcpanel-all
v-update-sys-arcpanel-all auto

This function updates every ArcPanel package to its newest version. With the mode auto, which the automatic update cron line uses, it stays on the installed release line X.Y: it installs the newest patch release of that line, updates the engine packages only while no newer line is available, and announces a newer line to the administrator once per version (panel notification and, with UPGRADE_SEND_EMAIL, an e-mail). In auto mode the output goes to $ARCPANEL/log/autoupdate.log and only an error is printed.

v-update-sys-arcpanel-git

Install update from Git repository.

v-update-sys-arcpanel-git REPOSITORY BRANCH INSTALL

Example:

v-update-sys-arcpanel-git arc-panel-oss master install

# Will download from the arc-panel-oss/arcpanel repository # Pulls code from the master branch # install: installs package immediately # install-auto: installs package and schedules automatic updates from Git

Downloads and compiles/installs packages from GitHub repositories

v-update-sys-defaults

Update default key database.

v-update-sys-defaults [SYSTEM]

Examples:

v-update-sys-defaults
v-update-sys-defaults user

This function updates the known key/value pair database

v-update-sys-ip

Update system IP.

v-update-sys-ip NONE

Example:

v-update-sys-ip

# Intended for internal usage

This function scans configured IP in the system and register them with ArcPanel internal database. This call is intended for use on vps servers, where IP is set by hypervisor.

v-update-sys-ip-counters

Update IP usage counters.

v-update-sys-ip-counters IP

Example:

v-update-sys-ip-counters

Function updates usage U_WEB_ADOMAINS and U_SYS_USERS counters.

v-update-sys-node-releases

Refresh the Node.js release index.

v-update-sys-node-releases NONE

Example:

v-update-sys-node-releases

This function downloads index.json from the Node.js release server and the release schedule (LTS and end-of-life dates) into the cache. A failed download keeps the files of the last successful run.

v-update-sys-ports-reserved

Update the list of reserved ports.

v-update-sys-ports-reserved [listening]

Example:

v-update-sys-ports-reserved

This function rewrites the ports the registry never hands out from the panel configuration and the service configs: panel, web terminal, web, proxy, SSH, FTP and its passive range, mail, DNS and databases. Entries an administrator added are kept. With "listening", every socket that listens in the server range and has no owner in the registry is reserved too.

v-update-sys-queue

Update system queue.

v-update-sys-queue PIPE

Example:

v-update-sys-queue

This function is responsible queue processing. Restarts of services, scheduled backups, web log parsing and other heavy resource consuming operations are handled by this script. It helps to optimize system behaviour. In a nutshell Apache will be restarted only once even if 10 domains are added or deleted.

v-update-sys-rrd

Update system rrd charts.

v-update-sys-rrd NONE

Example:

v-update-sys-rrd

This function is wrapper for all rrd functions. It updates all v-update-sys-rrd_* at once.

v-update-sys-rrd-apache2

Update apache2 rrd.

v-update-sys-rrd-apache2 PERIOD

Example:

v-update-sys-rrd-apache2

This function is for updating apache rrd database and graphic.

v-update-sys-rrd-ftp

Update ftp rrd.

v-update-sys-rrd-ftp PERIOD

Example:

v-update-sys-rrd-ftp

This function is for updating ftpd rrd database and graphic.

v-update-sys-rrd-httpd

Update httpd rrd.

v-update-sys-rrd-httpd PERIOD

Example:

v-update-sys-rrd-httpd

This function is for updating apache rrd database and graphic.

v-update-sys-rrd-la

Update load average rrd.

v-update-sys-rrd-la PERIOD

Example:

v-update-sys-rrd-la

This function is for updating load average rrd database and graphic.

v-update-sys-rrd-mail

Update mail rrd.

v-update-sys-rrd-mail PERIOD

Example:

v-update-sys-rrd-mail

This function is for updating mail rrd database and graphic.

v-update-sys-rrd-mem

Update memory rrd.

v-update-sys-rrd-mem PERIOD

Example:

v-update-sys-rrd-mem

This function is for updating memory rrd database and graphic.

v-update-sys-rrd-mysql

Update MySQL rrd.

v-update-sys-rrd-mysql PERIOD

Example:

v-update-sys-rrd-mysql

This function is for updating mysql rrd database and graphic.

v-update-sys-rrd-net

Update network rrd.

v-update-sys-rrd-net PERIOD

Example:

v-update-sys-rrd-net

This function is for updating network usage rrd database and graphic.

v-update-sys-rrd-nginx

Update nginx rrd.

v-update-sys-rrd-nginx PERIOD

Example:

v-update-sys-rrd-nginx

This function is for updating nginx rrd database and graphic.

v-update-sys-rrd-pgsql

Update PostgreSQL rrd.

v-update-sys-rrd-pgsql PERIOD

Example:

v-update-sys-rrd-pgsql

This function is for updating postgresql rrd database and graphic.

v-update-sys-rrd-ssh

Update ssh rrd.

v-update-sys-rrd-ssh PERIOD

Example:

v-update-sys-rrd-ssh

This function is for updating ssh rrd database and graphic.

v-update-sys-server-id

Set the server identifier.

v-update-sys-server-id [FORMAT]

Example:

v-update-sys-server-id json

This function keeps SERVER_ID, a random UUID that API clients use to tell servers apart, in the configuration. It writes SERVER_ID and SERVER_ID_MACHINE, the SHA-256 of /etc/machine-id, when SERVER_ID is missing; when the machine identity changed (a cloned machine), it writes a new identifier and logs the change. It prints the identifier. It runs from the installers, the upgrade step, the daily queue and at boot.

v-update-sys-sudoers

Write the sudo rules of the panel user.

v-update-sys-sudoers NONE

Example:

v-update-sys-sudoers

This function writes /etc/sudoers.d/arcpanelweb: arcpanelweb may run every command of $ARCPANEL/bin through sudo, by its full path, except those of $ARCPANEL/install/common/sudo/root-only. The new file must pass visudo before it replaces the old one; otherwise the old file stays. It is run on every install and upgrade, so that the list follows the installed commands.

v-update-sys-tool-ports

Write the NGINX files of the tool ports.

v-update-sys-tool-ports [RELOAD]

Example:

v-update-sys-tool-ports yes

This function writes the NGINX files of the webmail port and the database tools port from WEBMAIL_PORT, DB_ADMIN_PORT and the installed tools, and reloads NGINX when a file changed. The commands that install a webmail client, change an alias or the panel certificate run it; RELOAD 'yes' reloads NGINX also when no file changed (a new certificate).

v-update-sys-user-homes

Bring user homes to the current layout.

v-update-sys-user-homes [USER]

Example:

v-update-sys-user-homes

This function removes from the homes of users what older versions left there for root to manage: the private key of the legacy file manager in ~/.ssh, its line in authorized_keys and the ACL that let arcpanelweb into ~/.ssh. It moves the data of Docker apps from ~/apps/<name>/data to $HOMEDIR/.arcpanel-apps/<user>/<name>/ (stopping a running app while its data moves). Every change in a home runs as the user. Without USER it works on every user. It is safe to run on every upgrade.

Update white label logo's.

v-update-white-label-logo [DOWNLOAD]

Example:

v-update-white-label-logo

Replace ArcPanel logos with User created logo's

Last updated