You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thomas Lamprecht fe6cf7b66d bump version to 6.0-8 1 day ago
api-viewer api-viewer: add missing </pre> closing tag 2 months ago
asciidoc Revert "set email to office@proxmox.com" 4 months ago
debian bump version to 6.0-8 1 day ago
examples move guest-example-hookscript into new examples directory 8 months ago
images Add cluster join screenshot 1 month ago
.gitignore Add to gitignore 4 months ago
GFDL.adoc try to correctly include the GFDL license 3 years ago
LICENSE add README and LICENSE (FDL) 3 years ago
Makefile follouwp: test for instant view may not fail, else Make thins something real failed 1 week ago
README.adoc update README copyright 6 months ago
asciidoc-pve.in asciidoc-pve: ignore link targets for non-manpages 8 months ago
certificate-management.adoc typo managment -> management 8 months ago
datacenter.cfg.5-opts.adoc run make update 6 months ago
datacenter.cfg.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
docinfo.xml add docinfo with single corpauthor 3 years ago
extractapi.pl use new helper PVE::RESTHandler::api_dump_remove_refs() 1 year ago
gen-datacenter.cfg.5-opts.pl export pct.1 pct.conf.5 vm.conf.5 and datacenter.conf.5 3 years ago
gen-ha-groups-opts.pl ha-manager.adoc: improve group configuration section 2 years ago
gen-ha-resources-opts.pl ha-manager.adoc: improve configuration section 2 years ago
gen-output-format-opts.pl gen-output-format-opts.pl: use correct argument syntax 1 year ago
gen-pct-mountpoint-opts.pl gen-pct-mountpoint-opts.pl: improve layout 2 years ago
gen-pct-network-opts.pl gen-pct-network-opts.pl: improve layout 2 years ago
gen-pct.conf.5-opts.pl export pct.1 pct.conf.5 vm.conf.5 and datacenter.conf.5 3 years ago
gen-pve-firewall-cluster-opts.pl create debian package with all sources to generate pve manual pages 3 years ago
gen-pve-firewall-host-opts.pl create debian package with all sources to generate pve manual pages 3 years ago
gen-pve-firewall-macros-adoc.pl create debian package with all sources to generate pve manual pages 3 years ago
gen-pve-firewall-rules-opts.pl create debian package with all sources to generate pve manual pages 3 years ago
gen-pve-firewall-vm-opts.pl create debian package with all sources to generate pve manual pages 3 years ago
gen-qm-cloud-init-opts.pl start cloud-init documentation 1 year ago
gen-qm.conf.5-opts.pl cdrom is just an alias, so we do not want to print details 2 years ago
gen-vzdump.conf.5-opts.pl gen vzdump: json_config_properties() moved from VZDump to VZDump::Common 1 day ago
getting-help.adoc use https for the website 1 year ago
ha-groups-opts.adoc update generated docs 2 years ago
ha-manager.1-synopsis.adoc run make update 6 months ago
ha-manager.adoc Fix typos in ha-manager.adoc 1 month ago
ha-resources-opts.adoc update generated docs 2 years ago
howto-improve-pve-docs.adoc fix typos and whitespace all around 2 years ago
hyper-converged-infrastructure.adoc hyper-converged-infrastructure.adoc: improved text 2 years ago
index.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
local-lvm.adoc add lvm/zfs anchors 1 year ago
local-zfs.adoc Fix typos in local-zfs.adoc 1 month ago
output-format-opts.adoc run make update-static 8 months ago
output-format.adoc Fix typo in output-format.adoc 1 month ago
pct-mountpoint-opts.adoc run make update 3 months ago
pct-network-opts.adoc run make update 6 months ago
pct.1-synopsis.adoc run make update 3 months ago
pct.adoc Fix typo in pct.adoc 1 month ago
pct.conf.5-opts.adoc run make update 3 months ago
pct.conf.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
pmxcfs.8-synopsis.adoc renamed pmxcfs.8-cli.adoc to pmxcfs.8-synopsis.adoc 3 years ago
pmxcfs.adoc create and use chapter ref chapter_pmxcfs 2 years ago
png-cleanup.pl png-verify.pl: use Unit PixelsPerCentimeter 2 years ago
png-verify.pl png-verify.pl: allow 72dpcm for pve installer images 1 year ago
pve-admin-guide-docinfo.xml.in pve-admin-guide-docinfo.xml.in: automatically update year in copyright notice 8 months ago
pve-admin-guide.adoc pve-admin-guide: include pvenode and pvesh docs 1 year ago
pve-bibliography.adoc pve-bibliography.adoc - update version of 'Mastering Proxmox' 1 year ago
pve-copyright.adoc update copyright year to current 9 months ago
pve-disk-health-monitoring.adoc some small spelling/grammar fixes 2 years ago
pve-doc-generator.mk.in follouwp: test for instant view may not fail, else Make thins something real failed 1 week ago
pve-docs-mediawiki-import.in use https and full hostname to access mw api 2 years ago
pve-external-metric-server.adoc followup: metric-server: formating, line length, and other small improvements 5 months ago
pve-faq.adoc FAQ: add link to 5.x -> 6.0 upgrade 3 months ago
pve-firewall-cluster-opts.adoc run make update 6 months ago
pve-firewall-host-opts.adoc run make update 6 months ago
pve-firewall-macros.adoc run make update 6 months ago
pve-firewall-rules-opts.adoc run make update 6 months ago
pve-firewall-vm-opts.adoc update generated docs 2 years ago
pve-firewall.8-synopsis.adoc update generated docs 1 year ago
pve-firewall.adoc followup: fix acronym cases, and some wording additions 6 months ago
pve-gui.adoc Fix typos in pve-gui.adoc 1 month ago
pve-ha-crm.8-synopsis.adoc update generated docs 1 year ago
pve-ha-crm.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
pve-ha-lrm.8-synopsis.adoc update generated docs 1 year ago
pve-ha-lrm.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
pve-installation.adoc Replace stretch with buster in install guide 3 weeks ago
pve-intro.adoc fixup: heading 4 months ago
pve-network.adoc pve-network: bridged setup: s/VMs/virtual guests/ 1 month ago
pve-package-repos.adoc repos: change security repo link for future proofing and add note for bullseye 1 week ago
pve-storage-cephfs.adoc typo managment -> management 8 months ago
pve-storage-cifs.adoc add documentation about snippet content-type and hookscripts 8 months ago
pve-storage-dir.adoc add documentation about snippet content-type and hookscripts 8 months ago
pve-storage-glusterfs.adoc add documentation about snippet content-type and hookscripts 8 months ago
pve-storage-iscsi.adoc Change iscsiscan invocation in pve-storage-iscsi 9 months ago
pve-storage-iscsidirect.adoc add references to storage docs 1 year ago
pve-storage-lvm.adoc add references to storage docs 1 year ago
pve-storage-lvmthin.adoc add references to storage docs 1 year ago
pve-storage-nfs.adoc add documentation about snippet content-type and hookscripts 8 months ago
pve-storage-rbd.adoc fixup: s/devies/devices/ 7 months ago
pve-storage-zfspool.adoc add references to storage docs 1 year ago
pve-system-requirements.adoc update supported browsers 1 month ago
pve-usbstick.adoc sollowup: make USB stick more consisten and remove 'now' 7 months ago
pveam.1-synopsis.adoc run make update 3 months ago
pveam.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
pveceph.1-synopsis.adoc run make update 3 months ago
pveceph.adoc Fix typos in pveceph.adoc 1 month ago
pvecm.1-synopsis.adoc run make update 3 months ago
pvecm.adoc followup: extend cluster create/join a bit 1 month ago
pvedaemon.8-synopsis.adoc update generated docs 1 year ago
pvedaemon.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
pvenode.1-synopsis.adoc run make update-static 8 months ago
pvenode.adoc fixup typo: s/sendig/sending/ 9 months ago
pveperf.1-synopsis.adoc add pveperf section and man page 3 years ago
pveperf.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
pveproxy.8-synopsis.adoc update generated docs 1 year ago
pveproxy.adoc pveproxy: add docs for /etc/default/pveproxy 8 months ago
pvesh.1-synopsis.adoc pvesh.1-synopsis.adoc: update 1 year ago
pvesh.adoc pve-admin-guide: include pvenode and pvesh docs 1 year ago
pvesm.1-synopsis.adoc run make update 3 months ago
pvesm.adoc followup: storage config description 1 month ago
pvesr.1-synopsis.adoc update API 1 year ago
pvesr.adoc Fix typo in pvesr.adoc 1 month ago
pvestatd.8-synopsis.adoc update generated docs 1 year ago
pvestatd.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
pvesubscription.1-synopsis.adoc run make update-static 8 months ago
pvesubscription.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
pveum.1-synopsis.adoc run make update-static 10 months ago
pveum.adoc Fix typos in pveum.adoc 1 month ago
qm-cloud-init-opts.adoc run make update 6 months ago
qm-cloud-init.adoc add cloudinit dump and snippets documentation 3 months ago
qm-pci-passthrough.adoc efi boot: add note about update-initramfs hooks 2 months ago
qm.1-synopsis.adoc run make update 3 months ago
qm.adoc display: add URL and short explanation of SPICE 1 week ago
qm.conf.5-opts.adoc run make update 3 months ago
qm.conf.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
qmeventd.8-synopsis.adoc add qmeventd manpage 11 months ago
qmeventd.adoc add qmeventd manpage 11 months ago
qmrestore.1-synopsis.adoc update generated docs 1 year ago
qmrestore.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
scan-adoc-refs remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
spiceproxy.8-synopsis.adoc update generated docs 1 year ago
spiceproxy.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
sysadmin.adoc Add documentation on bootloaders (systemd-boot) 3 months ago
system-booting.adoc Fix typos in system-booting.adoc 1 month ago
system-software-updates.adoc remove attributes.txt (use asciidoc/asciidoc-pve.conf instead) 2 years ago
system-timesync.adoc fix #1818: use NTP instead of Servers in timesyncd.conf 1 year ago
translation.adoc Add how-to for translations 4 months ago
vxlan-and-evpn.adoc vxlan: remove "no bgp default ipv6-unicast" 1 month ago
vzdump.1-synopsis.adoc run make update 3 months ago
vzdump.adoc vzdump: use {pve} for Proxmox VE 1 month ago
vzdump.conf.5-opts.adoc run make update 3 months ago

README.adoc

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 than a list element you
can do this with the '+' symbol:

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

. First level
.. Second level
+
Anothe 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-2019 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.