5
0
mirror of git://git.proxmox.com/git/pve-docs.git synced 2025-01-04 05:17:47 +03:00
Go to file
Dylan Whyte 12804f688f fix #3884: Add section for kernel samepage merging
Adds a section to the "Host System Administration" section of the
Administration Guide, discussing KSM and its security risks

Signed-off-by: Dylan Whyte <d.whyte@proxmox.com>
2022-04-22 11:40:37 +02:00
api-viewer update static/schema information 2022-04-04 14:16:48 +02:00
asciidoc update Ceph codename and docs url to octopus 2022-01-28 12:14:38 +01:00
debian d/copyright: update years 2022-01-24 15:12:01 +01:00
examples examples: guest hookscript: fix typo in comment 2021-09-02 07:26:44 +02:00
images update TFA docs 2021-11-15 15:05:25 +01:00
.gitignore Add to gitignore 2019-06-12 15:36:33 +02:00
asciidoc-pve.in save pveOnlineHelpInfo as const 2020-06-06 19:45:49 +02:00
calendar-events.adoc refactor calendar events into appendix 2021-11-11 16:21:40 +01:00
certificate-management.adoc SPAM: [PATCH v2 docs] fix typos in various adoc files 2021-04-29 13:26:28 +02:00
cpu-models.conf.adoc Add man-page and notes about custom CPU models 2020-07-13 12:04:38 +02:00
datacenter.cfg.5-opts.adoc update static/schema information 2021-11-15 15:20:02 +01:00
datacenter.cfg.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
docinfo.xml add docinfo with single corpauthor 2016-01-05 09:43:02 +01:00
extractapi.pl api-viewer: adapt to changes 2021-06-02 16:19:34 +02:00
gen-cpu-models.conf.5-opts.pl Add man-page and notes about custom CPU models 2020-07-13 12:04:38 +02:00
gen-datacenter.cfg.5-opts.pl use PVE::DataCenterConfig to get schema 2019-11-15 10:40:07 +01:00
gen-ha-groups-opts.pl ha-manager.adoc: improve group configuration section 2016-11-20 10:21:17 +01:00
gen-ha-resources-opts.pl ha-manager.adoc: improve configuration section 2016-11-20 09:27:40 +01:00
gen-output-format-opts.pl gen-output-format-opts.pl: use correct argument syntax 2018-07-27 11:54:55 +02:00
gen-pct-mountpoint-opts.pl gen-pct-mountpoint-opts.pl: improve layout 2016-11-05 17:21:04 +01:00
gen-pct-network-opts.pl gen-pct-network-opts.pl: improve layout 2016-11-05 17:29:22 +01:00
gen-pct.conf.5-opts.pl export pct.1 pct.conf.5 vm.conf.5 and datacenter.conf.5 2016-04-06 12:31:14 +02:00
gen-pve-firewall-cluster-opts.pl create debian package with all sources to generate pve manual pages 2016-04-06 09:58:22 +02:00
gen-pve-firewall-host-opts.pl create debian package with all sources to generate pve manual pages 2016-04-06 09:58:22 +02:00
gen-pve-firewall-macros-adoc.pl create debian package with all sources to generate pve manual pages 2016-04-06 09:58:22 +02:00
gen-pve-firewall-rules-opts.pl create debian package with all sources to generate pve manual pages 2016-04-06 09:58:22 +02:00
gen-pve-firewall-vm-opts.pl create debian package with all sources to generate pve manual pages 2016-04-06 09:58:22 +02:00
gen-qm-cloud-init-opts.pl start cloud-init documentation 2018-03-07 12:02:03 +01:00
gen-qm.conf.5-opts.pl cdrom is just an alias, so we do not want to print details 2016-11-04 08:48:24 +01:00
gen-vzdump.conf.5-opts.pl gen vzdump: json_config_properties() moved from VZDump to VZDump::Common 2019-10-18 08:31:04 +02:00
getting-help.adoc getting help: use new mailing list url 2020-07-07 14:17:03 +02:00
GFDL.adoc try to correctly include the GFDL license 2016-01-05 17:36:56 +01:00
ha-groups-opts.adoc update generated docs 2017-01-27 11:26:12 +01:00
ha-manager.1-synopsis.adoc update static schema/synopsis definitions 2019-11-18 12:51:42 +01:00
ha-manager.adoc ha: document recovery state 2021-07-02 21:17:54 +02:00
ha-resources-opts.adoc update generated docs 2017-10-19 09:30:23 +02:00
howto-improve-pve-docs.adoc installation/usb stick: improve and hyperlink 2020-02-11 16:25:36 +01:00
hyper-converged-infrastructure.adoc hci: add Storage section refering to ceph/ZFS 2020-01-28 18:19:47 +01:00
index.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
kernel-samepage-merging.adoc fix #3884: Add section for kernel samepage merging 2022-04-22 11:40:37 +02:00
LICENSE add README and LICENSE (FDL) 2016-01-05 09:33:58 +01:00
local-btrfs.adoc btrfs: document df weirdness and how to better get usage 2021-07-05 14:24:35 +02:00
local-lvm.adoc fix typo: operation system -> operating system 2021-07-19 17:31:38 +02:00
local-zfs.adoc zfs: update documentation about ZED 2022-04-04 12:04:43 +02:00
Makefile buildsys: change upload dist to bullseye 2021-11-11 18:47:14 +01:00
markdown-primer.adoc add markdown primer for gui notes onlineHelp 2021-07-05 14:16:43 +02:00
output-format-opts.adoc run make update-static 2019-02-01 13:49:22 +01:00
output-format.adoc fix some typos 2020-02-11 18:01:34 +01:00
pct-mountpoint-opts.adoc update static and schema information 2021-04-26 17:48:36 +02:00
pct-network-opts.adoc run make update 2019-04-04 17:17:19 +02:00
pct.1-synopsis.adoc update static/schema information 2022-04-04 14:16:48 +02:00
pct.adoc pct: use code blocks in example commands for bindmounts 2022-01-11 08:38:40 +01:00
pct.conf.5-opts.adoc update static and schema information 2021-06-23 17:05:41 +02:00
pct.conf.adoc pct/qm.conf: fixup reserved ID range 2022-01-28 14:13:14 +01:00
pmxcfs.8-synopsis.adoc renamed pmxcfs.8-cli.adoc to pmxcfs.8-synopsis.adoc 2016-10-14 13:35:03 +02:00
pmxcfs.adoc pmxcfs: add more config files and discuss symlinks 2021-09-15 15:08:55 +02:00
png-cleanup.pl png-verify.pl: use Unit PixelsPerCentimeter 2016-11-10 16:39:35 +01:00
png-verify.pl png-verify.pl: allow 72dpcm for pve installer images 2017-12-22 11:36:31 +01:00
pve-admin-guide-docinfo.xml.in pve-admin-guide-docinfo.xml.in: automatically update year in copyright notice 2019-02-20 10:05:05 +01:00
pve-admin-guide.adoc add pvescheduler docs and manpage 2021-11-11 16:21:40 +01:00
pve-bibliography.adoc pve-bibliography.adoc - update version of 'Mastering Proxmox' 2018-04-03 14:03:45 +02:00
pve-copyright.adoc change http links to https 2021-05-07 18:26:05 +02:00
pve-disk-health-monitoring.adoc some small spelling/grammar fixes 2017-01-27 11:06:33 +01:00
pve-doc-generator.mk.in follouwp: test for instant view may not fail, else Make thins something real failed 2019-10-08 15:14:22 +02:00
pve-docs-mediawiki-import.in use https and full hostname to access mw api 2017-07-04 13:54:01 +02:00
pve-external-metric-server.adoc change http links to https 2021-05-07 18:26:05 +02:00
pve-faq.adoc installation: make debian version note link to FAQ support table 2021-07-05 16:53:21 +02:00
pve-firewall-cluster-opts.adoc update static and schema information 2020-11-24 14:31:57 +01:00
pve-firewall-host-opts.adoc update static schema/synopsis definitions 2019-11-27 18:46:15 +01:00
pve-firewall-macros.adoc update static and schema information 2020-11-24 14:31:57 +01:00
pve-firewall-rules-opts.adoc update static/schema information 2022-04-04 14:16:48 +02:00
pve-firewall-vm-opts.adoc update static schema/synopsis definitions 2019-11-27 18:46:15 +01:00
pve-firewall.8-synopsis.adoc update generated docs 2018-02-12 09:50:48 +01:00
pve-firewall.adoc change http links to https 2021-05-07 18:26:05 +02:00
pve-gui.adoc gui: link to markdown appendix 2021-07-05 14:21:21 +02:00
pve-ha-crm.8-synopsis.adoc update generated docs 2018-02-12 09:50:48 +01:00
pve-ha-crm.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
pve-ha-lrm.8-synopsis.adoc update generated docs 2018-02-12 09:50:48 +01:00
pve-ha-lrm.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
pve-installation-media.adoc installation: usb windows: adapt wording 2020-04-30 12:38:57 +02:00
pve-installation.adoc installation: add missing 'you' 2021-08-25 18:31:58 +02:00
pve-intro.adoc change http links to https 2021-05-07 18:26:05 +02:00
pve-network.adoc network: add bridge-vids to vlan aware bridge example. 2021-09-10 14:20:33 +02:00
pve-package-repos.adoc old repos: use /pve suffix, which has better compatibility 2021-10-11 08:53:01 +02:00
pve-storage-btrfs.adoc btrfs: wiki: also link to BTRFS sysadmin 2021-06-23 22:52:41 +02:00
pve-storage-cephfs.adoc storage: cephfs/rbd: emphasize steps aren't needed for local cluster 2022-01-28 12:15:06 +01:00
pve-storage-cifs.adoc cifs: modernize a bit 2020-07-13 11:36:57 +02:00
pve-storage-dir.adoc vzdump/storage: mention protected backups limit and give an example 2022-04-06 12:44:47 +02:00
pve-storage-glusterfs.adoc add documentation about snippet content-type and hookscripts 2019-02-01 13:36:19 +01:00
pve-storage-iscsi.adoc change http links to https 2021-05-07 18:26:05 +02:00
pve-storage-iscsidirect.adoc add references to storage docs 2018-07-06 13:30:35 +02:00
pve-storage-lvm.adoc fix 3372: fix typos, and impove pve-gui docs 2021-04-12 15:47:33 +02:00
pve-storage-lvmthin.adoc add references to storage docs 2018-07-06 13:30:35 +02:00
pve-storage-nfs.adoc add documentation about snippet content-type and hookscripts 2019-02-01 13:36:19 +01:00
pve-storage-pbs.adoc storage: switch to prune-backups in examples 2022-04-06 12:44:47 +02:00
pve-storage-rbd.adoc storage: cephfs/rbd: emphasize steps aren't needed for local cluster 2022-01-28 12:15:06 +01:00
pve-storage-zfs.adoc storage: add minimal zfs over iscsi doc 2021-08-25 18:22:46 +02:00
pve-storage-zfspool.adoc Add description for mountpoint property 2019-11-26 17:09:32 +01:00
pve-system-requirements.adoc system requirements: minor language fixup 2020-10-07 16:04:53 +02:00
pveam.1-synopsis.adoc run make update 2019-07-15 21:53:35 +02:00
pveam.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
pveceph.1-synopsis.adoc update static/schema information 2021-11-15 15:20:02 +01:00
pveceph.adoc pveceph: typo/language followups 2021-11-11 16:24:35 +01:00
pvecm.1-synopsis.adoc update static and schema information 2021-04-26 17:48:36 +02:00
pvecm.adoc pvecm: add small note for 'updatecerts' workaround in qdevice setup 2022-03-16 16:08:03 +01:00
pvedaemon.8-synopsis.adoc update generated docs 2018-02-12 09:50:48 +01:00
pvedaemon.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
pvenode.1-synopsis.adoc update static/schema information 2021-11-15 15:20:02 +01:00
pvenode.adoc pvenode: fix trailing whitespace error 2021-09-01 16:32:38 +02:00
pveperf.1-synopsis.adoc add pveperf section and man page 2016-10-07 10:09:48 +02:00
pveperf.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
pveproxy.8-synopsis.adoc update generated docs 2018-02-12 09:50:48 +01:00
pveproxy.adoc pveproxy: improve TLS key override description 2022-01-18 12:24:22 +01:00
pvescheduler.adoc add pvescheduler docs and manpage 2021-11-11 16:21:40 +01:00
pvesdn.adoc sdn: update bgp/evpn documentation 2022-03-29 17:34:33 +02:00
pvesh.1-synopsis.adoc pvesh.1-synopsis.adoc: update 2018-07-27 07:54:29 +02:00
pvesh.adoc pve-admin-guide: include pvenode and pvesh docs 2018-07-27 10:23:13 +02:00
pvesm.1-synopsis.adoc update static/schema information 2022-04-04 14:16:48 +02:00
pvesm.adoc storage: document preallocation as a common storage option 2022-02-07 10:21:25 +01:00
pvesr.1-synopsis.adoc update static and schema information 2021-04-26 17:48:36 +02:00
pvesr.adoc refactor calendar events into appendix 2021-11-11 16:21:40 +01:00
pvestatd.8-synopsis.adoc update generated docs 2018-02-12 09:50:48 +01:00
pvestatd.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
pvesubscription.1-synopsis.adoc update static information 2020-07-07 14:17:03 +02:00
pvesubscription.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
pveum.1-synopsis.adoc update static/schema information 2022-04-04 14:16:48 +02:00
pveum.adoc pveum: tfa: drop webauthn fixme 2021-11-15 15:10:43 +01:00
qm-cloud-init-opts.adoc update static/schema information 2021-11-15 15:20:02 +01:00
qm-cloud-init.adoc change http links to https 2021-05-07 18:26:05 +02:00
qm-pci-passthrough.adoc pci-passthrough: add section about ID overrides 2022-01-28 14:15:34 +01:00
qm.1-synopsis.adoc update static/schema information 2021-11-15 15:20:02 +01:00
qm.adoc VM live migration: mention that CPU vendor should be the same 2021-11-17 15:33:02 +01:00
qm.conf.5-opts.adoc update static/schema information 2021-11-15 15:20:02 +01:00
qm.conf.adoc pct/qm.conf: fixup reserved ID range 2022-01-28 14:13:14 +01:00
qmeventd.8-synopsis.adoc add qmeventd manpage 2018-11-14 15:24:05 +01:00
qmeventd.adoc add qmeventd manpage 2018-11-14 15:24:05 +01:00
qmrestore.1-synopsis.adoc update static and schema information 2021-04-26 17:48:36 +02:00
qmrestore.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
README.adoc update copyright years 2021-07-02 21:17:13 +02:00
scan-adoc-refs remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
spiceproxy.8-synopsis.adoc update generated docs 2018-02-12 09:50:48 +01:00
spiceproxy.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2016-11-08 06:46:43 +01:00
sysadmin.adoc fix #3884: Add section for kernel samepage merging 2022-04-22 11:40:37 +02:00
system-booting.adoc sys: boot/zfs: adapt docs to proxmox-boot-tool update 2021-04-26 17:52:00 +02:00
system-software-updates.adoc Overhaul System Software Updates 2020-02-11 14:18:38 +01:00
system-timesync.adoc fix #3598: include chrony in time synchronisation section 2021-08-26 15:19:02 +02:00
translation.adoc SPAM: [PATCH v2 docs] fix typos in various adoc files 2021-04-29 13:26:28 +02:00
vxlan-and-evpn.adoc fix some typo/casing 2021-04-30 09:44:13 +02:00
vzdump.1-synopsis.adoc update static and schema information 2021-06-18 19:36:45 +02:00
vzdump.adoc vzdump/storage: mention protected backups limit and give an example 2022-04-06 12:44:47 +02:00
vzdump.conf.5-opts.adoc update static and schema information 2021-06-18 19:36:45 +02:00

Proxmox VE Documentation
========================

We try to generate high quality documentation for
{website}[{pve}], and choose to use
http://www.methods.co.nz/asciidoc/[AsciiDoc] as base format.

The basic idea is to generate high quality manual pages, and assemble
them into a complete book, called link:pve-admin-guide.adoc[Proxmox VE
Administration Guide].  So we have one source, and generate several
documents from that. It is also possible to generate printable PDF
files, or ebook formats ('.epub').

When possible, we provide scripts to extract API definitions,
configuration or command line options from the source code.

To simplify the documentation task, we keep all Documentation within
this repository. It is possible to generate the docs without installing
any additional Proxmox packages with:

 make pve-doc-generator.mk
 make index

To update the auto-generate API definitions use:

 make update

NOTE: you need a fully installed development environment for that.


Debian Packages
---------------

We generate a development package called 'pve-doc-generator', which is
used by other Proxmox VE package to generate manual pages at package
build time.

Another package called 'pve-docs' is used to publish generated
'.html' and '.pdf' files on our web servers. You can generate
those Debian packages using:

 make deb


Common Macro definition in link:asciidoc/asciidoc-pve.conf[]
------------------------------------------------------------

'asciidoc' allows us to define common macros, which can then be
referred to using `{macro}`. We try to use this mechanism to improve
consistency. For example, we defined a macro called `pve`, which
expands to "Proxmox VE".

For URLs which are used more than once, two macros should be defined:

* `{name-url}`, which just contains the http(s) URL
* `{name}`, which contains the complete link including the canonical
description

For example, the macro `{forum-url}` expands to {forum-url}, and the macro
`{forum}` expands to {forum}.

The plan is to add more such definitions for terms which are used more
than once.

WARNING: When asciidoc encounters a misspelled macro name, it will
silently drop the containing line!


Autogenerated CLI Command Synopsis
----------------------------------

We generate the command line synopsis for all manual pages
automatically. We can do that, because we have a full declarative
definition of the {pve} API. I added those generated files
('*-synopsis.adoc') to the git repository, so that it is possible to
build the documentation without having a fully installed {pve}
development environment.

Style Guide
-----------

'asciidoc' uses a fairly simple markup syntax for formatting content.
The following basic principles should be followed throughout our
documentation.


Sections
~~~~~~~~

Sections are formatted using `two-line titles', by adding a line of
the appropriate characters and of the same length as the section title
below the title text:

 Level 0 (top level):     ======================
 Level 1:                 ----------------------
 Level 2:                 ~~~~~~~~~~~~~~~~~~~~~~
 Level 3:                 ^^^^^^^^^^^^^^^^^^^^^^
 Level 4 (bottom level):  ++++++++++++++++++++++

NOTE: Level 4 headings are currently not working for `manpage` outputs, you may
want to use `.SECTION' instead, which results in the same rendering, and this
level of Heading isn't displayed in any Index/TOC anyway.

Section titles should always be preceded by two empty lines. Each word
in a title should be capitalized except for ``articles, coordinating
conjunctions, prepositions, and the word to in infinitives unless they
appear as the first or last word of a title'' (see
http://web.mit.edu/course/21/21.guide/capitals.htm[Mayfield Electronic Handbook of Technical & Scientific Writing]).


Lists
~~~~~

Numbered Lists
^^^^^^^^^^^^^^

Numbered lists should be created using the implicit numbering format:

-----
. First level
.. Second level
. First level again
-----

. First level
.. Second level
. First level again


Bulleted Lists
^^^^^^^^^^^^^^

Bulleted lists should be created using the '*' symbol:

-----
* First level
** Second level
* First level again
-----

* First level
** Second level
* First level again


If you need to have other elements on the same level as a list element you
can do this with the '+' symbol:

----
. First level
.. Second level
+
Another Sentence (or Block) on the continued second level.
. First level again
----

. First level
.. Second level
+
Another Sentence (or Block) on the continued second level.

. First level again

Labeled Lists
^^^^^^^^^^^^^

Labeled lists should be used to make lists of key-value style text
more readable, such as command line parameters or configuration options:

.Regular labeled lists
-----
First Label Text::

Element text paragraph

Second Label Text::

Another element text paragraph.
-----

First Label Text::

Element text paragraph

Second Label Text::

Another element text paragraph.

.Horizontal labeled lists
-----
[horizontal]
First Label Text:: Element text paragraph

Second Label Text:: Another element text paragraph.
-----

creates

[horizontal]
First Label Text:: Element text paragraph

Second Label Text:: Another element text paragraph.

The FAQ section uses a special questions and answers style for
labeled lists.


Text and Block Styles
~~~~~~~~~~~~~~~~~~~~~

'asciidoc' offers a wide range of default text styles:

* 'Emphasized text': created using \'text', used for emphasizing words
and phrases
* `Monospaced text`: created using \`text`, used for command / program
names, file paths, in-line commands, option names and values
* *Strong text*: created using \*text*, used for emphasizing concepts
or names when first introduced in a section.

There are also different built-in block styles that are used in
our documentation:

Complete paragraphs can be included literally by prepending each
of their lines with whitespace. Use this for formatting complete
commands on their own line, such as:

 pct set ID -option value

----
By surrounding a paragraph with lines containing at least four '-'
characters, its content is formatted as listing.

Use this for formatting file contents or command output.
----

Specially highlighted 'notes', 'warnings' and 'important' information
can be created by starting a paragraph with `NOTE:`, `WARNING:` or
`IMPORTANT:`:

NOTE: this is a note

WARNING: this is warning

IMPORTANT: this is important information

For each of these blocks (including lists and paragraphs), a block header
can be defined by prepending the block with a `.' character and the header
text:

-----
.Title of List
* First element
* Second element
* Third element
-----

.Title of List
* First element
* Second element
* Third element

For example, block headers can be used to add file names/paths to file
content listings.


Online Help
-----------
Each {pve} installation contains the full documentation in HTML format,
which is then used as the target of various help buttons in the GUI.

If after adding a specific entry in the documentation you want to
create a help button pointing to that, you need to do the
following:

* add a string id in double square brackets before your 
documentation entry,  like `[[qm_general_settings]]`
* rebuild the `asciidoc-pve` script and the HTML chapter file containing 
your entry
* add a property `onlineHelp` in the ExtJS panel you want to document,
using the above string, like `onlineHelp: qm_general_settings`
This panel has to be a child class of PVE.panel.InputPanel

On calling `make install` the asciidoc-pve script will populate
a JS object associating the string id and a link to the 
local HTML documentation, and the help button of your input panel 
will point to this link.


Screenshots
-----------

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

First, it should be noted that we can display screenshots on 'html'
and 'wiki' pages, and we can include them in printed documentation. But
it is not possible to render them inside manual pages. So screenshot
inside manual pages should be optional, i.e. the text should not
depend on the visibility of the screenshot. You can include a
screenshot by setting the 'thumbnail' attribute on a paragraph:

----
[thumbnail="screenshot/gui-datacenter-search.png"]
First, it should be noted ...
----

The corresponding file need to reside inside folder
`images/screenshot`, and should be in `.png` image format. We include
the screenshots in printed documentation, and 'pdftex' uses the
density (DPI) specified inside the file. So all screenshots should use
the same density. We currently require the density set to 146 DPI, so
that we can display a 1024 pixels wide image. You should not include
larger screenshots (although it is possible).

You can use the `./png-cleanup.pl` script to set the correct
density. Simply use the following command to import a screenshot
image:

----
# ./png-cleanup.pl screenshot.png images/screenshot/screenshot.png
----

TIP: You can use `identify -verbose screenshot.png` command to show
all image attributes (from debian package 'imagemagick')

.Default Screenshot Layout

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

We normally display screenshots as small thumbnail on the right side
of a paragraph. On printed documentation, we render the full sized
graphic just before the paragraph, or between the title and the text
if the paragraph has a title. It is usually a good idea to add a title
to paragraph with screenshots.

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

If you need to render many screenshots, it is possible to place them
on the left side, so you can alternate the thumbnail position using the
`float` attribute:

----
[thumbnail="screenshot/gui-datacenter-search.png", float="left"]
If you need to render many screenshots ...
----

Please avoid to many consecutive screenshots to avoid rendering
problems. Also verify the printed documentation to see if large
screenshots create layout problems.


Copyright
---------

Copyright (C) 2016-2021 Proxmox Server Solutions GmbH

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the link:LICENSE[LICENSE] file.