[[chapter_gui]]
Graphical User Interface
========================
ifndef::manvolnum[]
:pve-toplevel:
endif::manvolnum[]

{pve} is simple. There is no need to install a separate management
tool, and everything can be done through your web browser (Latest
Firefox or Google Chrome is preferred). A built-in HTML5 console is
used to access the guest console. As an alternative,
https://www.spice-space.org/[SPICE] can be used.

Because we use the Proxmox cluster file system (pmxcfs), you can
connect to any node to manage the entire cluster. Each node can manage
the entire cluster. There is no need for a dedicated manager node.

You can use the web-based administration interface with any modern
browser. When {pve} detects that you are connecting from a mobile
device, you are redirected to a simpler, touch-based user interface.

The web interface can be reached via https://youripaddress:8006
(default login is: 'root', and the password is specified during the
installation process).


Features
--------

* Seamless integration and management of {pve} clusters

* AJAX technologies for dynamic updates of resources

* Secure access to all Virtual Machines and Containers via SSL
  encryption (https)

* Fast search-driven interface, capable of handling hundreds and
  probably thousands of VMs

* Secure HTML5 console or SPICE

* Role based permission management for all objects (VMs, storages,
  nodes, etc.)

* Support for multiple authentication sources (e.g. local, MS ADS,
  LDAP, ...)

* Two-Factor Authentication (OATH, Yubikey)

* Based on ExtJS 6.x JavaScript framework


Login
-----

[thumbnail="screenshot/gui-login-window.png"]

When you connect to the server, you will first see the login window.
{pve} supports various authentication backends ('Realm'), and
you can select the language here. The GUI is translated to more
than 20 languages.

NOTE: You can save the user name on the client side by selecting the
checkbox at the bottom. This saves some typing when you login next
time.


GUI Overview
------------

[thumbnail="screenshot/gui-datacenter-summary.png"]

The {pve} user interface consists of four regions.

[horizontal]

Header:: On top. Shows status information and contains buttons for
most important actions.

Resource Tree:: At the left side. A navigation tree where you can select
specific objects.

Content Panel:: Center region. Selected objects display configuration
options and status here.

Log Panel:: At the bottom. Displays log entries for recent tasks. You
can double-click on those log entries to get more details, or to abort
a running task.

NOTE: You can shrink and expand the size of the resource tree and log
panel, or completely hide the log panel. This can be helpful when you
work on small displays and want more space to view other content.


Header
~~~~~~

On the top left side, the first thing you see is the Proxmox
logo. Next to it is the current running version of {pve}. In the
search bar nearside you can search for specific objects (VMs,
containers, nodes, ...). This is sometimes faster than selecting an
object in the resource tree.

To the right of the search bar we see the identity (login name). The
gear symbol is a button opening the 'My Settings' dialog. There you
can customize some client side user interface setting (reset the saved
login name, reset saved layout).

The rightmost part of the header contains four buttons:

[horizontal]
Help :: Opens a new browser window showing the reference documentation.

Create&nbsp;VM :: Opens the virtual machine creation wizard.

Create&nbsp;CT :: Open the container creation wizard.

Logout :: Logout, and show the login dialog again.


[[gui_my_settings]]
My Settings
~~~~~~~~~~~

[thumbnail="screenshot/gui-my-settings.png"]

The 'My Settings' window allows you to set locally stored settings. These
include the 'Dashboard Storages' which allow you to enable or disable specific
storages to be counted towards the total amount visible in the datacenter
summary. If no storage is checked the total is the sum of all storages, same
as enabling every single one.

Below the dashboard settings you find the stored user name and a button to
clear it as well as a button to reset every layout in the GUI to its default.

On the right side there are 'xterm.js Settings'. These contain the following
options:

[horizontal]
Font-Family :: The font to be used in xterm.js (e.g. Arial).

Font-Size :: The preferred font size to be used.

Letter Spacing :: Increases or decreases spacing between letters in text.

Line Height :: Specify the absolute height of a line.



Resource Tree
~~~~~~~~~~~~~

This is the main navigation tree. On top of the tree you can select
some predefined views, which changes the structure of the tree
below. The default view is *Server View*, and it shows the following
object types:

[horizontal]
Datacenter:: Contains cluster wide setting (relevant for all nodes).

Node:: Represents the hosts inside a cluster, where the guests runs.

Guest:: VMs, Containers and Templates.

Storage:: Data Storage.

Pool:: It is possible to group guests using a pool to simplify
management.


The following view types are available:

[horizontal]
Server View:: Shows all kind of objects, grouped by nodes.

Folder View:: Shows all kind of objects, grouped by object type.

Storage View:: Only show storage objects, grouped by nodes.

Pool View:: Show VMs and Containers, grouped by pool.


Log Panel
~~~~~~~~~

The main purpose of the log panel is to show you what is currently
going on in your cluster. Actions like creating an new VM are executed
in background, and we call such background job a 'task'.

Any output from such task is saved into a separate log file. You can
view that log by simply double-click a task log entry. It is also
possible to abort a running task there.

Please note that we display most recent tasks from all cluster nodes
here. So you can see when somebody else is working on another cluster
node in real-time.

NOTE: We remove older and finished task from the log panel to keep
that list short. But you can still find those tasks in the 'Task
History' within the node panel.

Some short running actions simply sends logs to all cluster
members. You can see those messages in the 'Cluster log' panel.


Content Panels
--------------

When you select something in the resource tree, the corresponding
object displays configuration and status information in the content
panel. The following sections give a brief overview of the
functionality. Please refer to the individual chapters inside the
reference documentation to get more detailed information.


Datacenter
~~~~~~~~~~

[thumbnail="screenshot/gui-datacenter-search.png"]

On the datacenter level you can access cluster wide settings and information.

* *Search:* it is possible to search anything in cluster
,this can be a node, VM, Container, Storage or a pool.

* *Summary:* gives a brief overview over the cluster health.

* *Cluster:* allows to create/join cluster and shows join information.

* *Options:* can show and set defaults, which apply cluster wide.

* *Storage:* is the place where a storage will add/managed/removed.

* *Backup:* has the capability to schedule Backups. This is
   cluster wide, so you do not care about where the VM/Container are on
   your cluster at schedule time.

* *Replication:* shows replication jobs and allows to create new ones.

* *Permissions:* will manage user and group permission, LDAP,
   MS-AD and Two-Factor authentication can be setup here.

* *HA:* will manage the {pve} High-Availability

* *Firewall:* on this level the Proxmox Firewall works cluster wide and
   makes templates which are cluster wide available.

* *Support:* here you get all information about your support subscription.

If you like to have more information about this see the corresponding chapter.


Nodes
~~~~~

[thumbnail="screenshot/gui-node-summary.png"]

Nodes in your cluster can be managed invidiually at this level.

The top header has useful buttons such as 'Reboot', 'Shutdown', 'Shell',
'Bulk Actions' and 'Help'.
'Shell' has the options 'noVNC', 'SPICE' and 'xterm.js'.
'Bulk Actions' has the options 'Bulk Start', 'Bulk Stop' and 'Bulk Migrate'.

* *Search:* it is possible to search anything on the node,
 this can be a VM, Container, Storage or a pool.

* *Summary:* gives a brief overview over the resource usage.

* *Notes:* is where custom notes about a node can be written.

* *Shell:* logs you into the shell of the node.

* *System:* is for configuring the network, DNS and time, and also shows your syslog.

* *Updates:* will upgrade the system and inform you about new packages.

* *Firewall:* on this level is only for this node.

* *Disks:* gives you a brief overview about you physical hard drives and
   how they are used.

* *Ceph:* is only used if you have installed a Ceph server on your
   host. Then you can manage your Ceph cluster and see the status
   of it here.

* *Replication:* shows replication jobs and allows to create new ones.

* *Task History:* here all past tasks are shown.

* *Subscription:* here you can upload you subscription key and get a
   system overview in case of a support case.


Guests
~~~~~~

[thumbnail="screenshot/gui-qemu-summary.png"]

There are two different kinds of guests and both can be converted to a template.
One of them is a Kernel-based Virtual Machine (KVM) and the other one a Linux Container (LXC).
Generally the navigation is the same, only some options are different.

In the main management center the VM navigation begins if a VM is selected in the left tree.

The top header contains important VM operation commands like 'Start', 'Shutdown', 'Reset',
'Remove', 'Migrate', 'Console' and 'Help'.
Some of them have hidden buttons like 'Shutdown' has 'Stop' and
'Console' contains the different console types 'SPICE', 'noVNC' and 'xterm.js'.

On the right side the content switches depending on the selected option.

On the left side.
All available options are listed one below the other.

* *Summary:* gives a brief overview over the VM activity.

* *Console:* an interactive console to your VM.

* *(KVM)Hardware:* shows and set the Hardware of the KVM VM.

* *(LXC)Resources:* defines the LXC Hardware opportunities.

* *(LXC)Network:* the LXC Network settings.

* *(LXC)DNS:* the LXC DNS settings.

* *Options:* all guest options can be set here.

* *Task History:* here all previous tasks from the selected guest will be shown.

* *(KVM) Monitor:* is the interactive communication interface to the KVM process.

* *Backup:* shows the available backups from the selected guest and also create a backupset.

* *Replication:* shows the replication jobs for the selected guest and allows to create new jobs.

* *Snapshots:* manage VM snapshots.

* *Firewall:* manage the firewall on VM level.

* *Permissions:* manage the user permission for the selected guest.


Storage
~~~~~~~

[thumbnail="screenshot/gui-storage-summary-local.png"]

In this view we have a two partition split-view.
On the left side we have the storage options
and on the right side the content of the selected option will be shown.

* *Summary:* shows important information about storages like
'Usage', 'Type', 'Content', 'Active' and 'Enabled'.

* *Content:* Here all content will be listed grouped by content type.

* *Permissions:* manage the user permission for this storage.


Pools
~~~~~

[thumbnail="screenshot/gui-pool-summary-development.png"]

In this view we have a two partition split view.
On the left side we have the logical pool options
and on the right side the content of the selected option will be shown.

* *Summary:* show the description of the pool.

* *Members:* Here all members of this pool will listed and can be managed.

* *Permissions:* manage the user permission for this pool.


ifdef::wiki[]

See Also
--------

* link:/wiki/Central_Web-based_Management

endif::wiki[]

////
TODO:

VM, CT, Storage, Pool section

////
