{"id":8203,"date":"2024-09-20T17:00:22","date_gmt":"2024-09-20T14:00:22","guid":{"rendered":"http:\/\/trueconf.com\/blog\/?p=8203"},"modified":"2025-07-16T12:58:14","modified_gmt":"2025-07-16T09:58:14","slug":"configure-kvm-hypervisor-ubuntu-server","status":"publish","type":"post","link":"https:\/\/trueconf.com/blog\/knowledge-base\/configure-kvm-hypervisor-ubuntu-server","title":{"rendered":"Configuration of KVM hypervisor on Linux Using Ubuntu as Example"},"content":{"rendered":"<p>TrueConf Server can be deployed on a virtual machine (VM). However, this is a very complex task and we do not recommend this procedure to inexperienced users: correct configuration of a virtual machine may sometimes be very difficult. <\/p>\n<p>This guide will describe the configuration of the KVM hypervisor (Kernel-based Virtual Machine). We will take the example of the server running on Ubuntu 22.04 LTS. However, the instructions provided below may be helpful if any Linux distribution is used since KVM is a part of the kernel.<\/p>\n<p>Below we will show how to use KVM with the help of the terminal and on Linux with a graphical shell.<br \/>\n<!--more--><\/p>\n<h2>Updating packages<\/h2>\n<p>Before starting, update packages by running the command:<\/p>\n<pre class=\"lang:default decode:true\">sudo apt update && sudo apt upgrade -y<\/pre>\n<h2>How to check if KVM is supported<\/h2>\n<p>The KVM module is a hardware-based virtualization tool based on Intel VT or AMD SVM; so, this method cannot be used on CPUs that do not support this technology.<\/p>\n<p>Run this command in the terminal to check if hardware-based virtualization is supported:<\/p>\n<pre class=\"lang:default decode:true\">egrep -c '(vmx|svm)' \/proc\/cpuinfo<\/pre>\n<p>In this case the program displays <code>4<\/code>. If the result displayed by the program is larger than <b>0<\/b>, hardware-based virtualization is supported. Here, the result is equal to <b>4<\/b>.<\/p>\n<h2>KVM configuration<\/h2>\n<h3>KVM installation<\/h3>\n<p>Run this command to install the packages needed for virtualization:<\/p>\n<pre class=\"lang:default decode:true\">sudo apt install -y qemu-kvm virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-utils<\/pre>\n<p>If you are using Linux that supports the graphical shell, you can also install the <b>virt-manager<\/b> utility which will provide you with a graphic user interface (GUI) for managing virtual machines.<\/p>\n<pre class=\"lang:default decode:true\">sudo apt install -y virt-manager<\/pre>\n<p>After installing KVM, you can start its configuration. <\/p>\n<h3>How to enable virtualization<\/h3>\n<p>Run the <b>Libvirt<\/b> service with these commands: <\/p>\n<pre class=\"lang:default decode:true\">\r\nsudo systemctl enable --now libvirtd\r\nsudo systemctl start libvirtd\r\n<\/pre>\n<p>After launching the service, restart the computer and check the status of the <b>Libvirt<\/b> service by running the command:<\/p>\n<pre class=\"lang:default decode:true\">sudo systemctl status libvirtd<\/pre>\n<h3>Adding a user to KVM and Libvirt groups<\/h3>\n<p>To make sure that the OS account you are using was allowed to create and manage virtual machines, this account should be added to KVM and Libvirt groups. For this purpose, execute these commands:<\/p>\n<pre class=\"lang:default decode:true\">sudo usermod -aG kvm,libvirt $USER<\/pre>\n<h2>Creation of a network bridge<\/h2>\n<p>If you are intending to access the virtual machine from outside the network, then it is necessary to create a network bridge for this machine.<\/p>\n<p>We will show how one can connect to a virtual machine via an Ethernet port of the host. Let us suppose that the port is connected to the router that distributes IPv4 addresses via DHCP and the VM will receive an IP address in the same way. Please note that the configuration of the yaml file on your PC may differ from the example below. So, we recommend checking the <a href=\"https:\/\/netplan.readthedocs.io\/en\/stable\/\" target=\"_blank\" rel=\"noopener\">documentation<\/a>.<\/p>\n<ol>\n<li>Get the list of network interfaces in the host OS:<\/li>\n<pre class=\"lang:default decode:true\">ip a<\/pre>\n<p>For example, the following result is displayed:<\/p>\n<pre class=\"lang:default decode:true\">\r\n1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000\r\nlink\/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\r\ninet 127.0.0.1\/8 scope host lo\r\nvalid_lft forever preferred_lft forever\r\ninet6 ::1\/128 scope host\r\nvalid_lft forever preferred_lft forever\r\n2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000\r\nlink\/ether c0:3e:ba:28:f6:93 brd ff:ff:ff:ff:ff:ff\r\ninet 10.140.1.108\/22 brd 10.140.3.255 scope global dynamic noprefixroute enp1s0\r\nvalid_lft 28101sec preferred_lft 28101sec\r\ninet6 fe80::dc33:1ae7:97d0:524a\/64 scope link noprefixroute\r\nvalid_lft forever preferred_lft forever\r\n<\/pre>\n<li> Select the required interface, for example, <code>enp1s0<\/code>.<\/li>\n<li>In the directory <b>\/etc\/netplan<\/b> create the file <b>01-netcfg.yaml<\/b> with the following text:<\/li>\n<pre class=\"lang:default decode:true\">\r\nnetwork:\r\n  version: 2\r\n  renderer: NetworkManager\r\n  ethernets:\r\n    enp1s0:\r\n      dhcp4: true\r\n      dhcp6: true\r\n  bridges:\r\n    br0:\r\n    interfaces: [enp1s0]\r\n      dhcp4: true\r\n      dhcp6: true\r\n<\/pre>\n<p>To create a file with the help of the terminal, you may use this command:<\/p>\n<pre class=\"lang:default decode:true\">nano \/etc\/netplan\/01-netcfg.yaml<\/pre>\n<p>To apply changes, execute the command:<\/p>\n<pre class=\"lang:default decode:true\">sudo netplan apply<\/pre>\n<p>After applying changes, run the following command to check if the network bridge has been added:<\/p>\n<pre class=\"lang:default decode:true\">ip add show<\/pre>\n<p>Make sure that the network interface <b>br0<\/b> is included in the list.<\/p>\n<h2>Working with virtual machines<\/h2>\n<h3>How to create a virtual machine with the help of the terminal<\/h3>\n<p>To create a virtual machine, run this command:<\/p>\n<pre class=\"lang:default decode:true\">\r\nvirt-install --name [virtual machine name] --vcpu [number of allocated threads] --memory [amount of allocated RAM in MB] --network [network interface] --boot [boot device priority] --disk [virtual disk location, size in GB] --cdrom [path to CD-ROM]\r\n<\/pre>\n<p>\u0433\u0434\u0435:<\/p>\n<ul>\n<li><code>--name [virtual machine name]<\/code> \u2014 the virtual machine name;<\/li>\n<li><code>--vcpu [number of allocated threads]<\/code> \u2014 allocation of CPU threads;<\/li>\n<li><code>--memory [amount of allocated RAM in MB]<\/code> \u2014 allocation of RAM, size in MB;<\/li>\n<li><code>--network [network interface]<\/code> \u2014 the type of network interface;<\/li>\n<li><code>--boot [boot device priority]<\/code> \u2014 the order of boot devices for the virtual machine, boot devices;<\/li>\n<li><code>--disk [virtual disk location, size in GB]<\/code> \u2014 virtual disk emulation, location, size in GB;<\/li>\n<li><code>--cdrom [path to CD-ROM]<\/code> \u2014 CD-ROM emulation, path to its contents.<\/li>\n<\/ul>\n<p>Example of a full command: <\/p>\n<pre class=\"lang:default decode:true\">\r\nvirt-install --name vmtest1 --vcpu 2 --memory 2048 --network bridge=br0 --boot cdrom,hd,menu=on --disk path=\/media\/admin\/Files\/kvmt1\/vmtom1,size=30 --cdrom \/media\/admin\/Files\/downloads\/debian-12.5.0-amd64-DVD-1.iso\r\n<\/pre>\n<p>To check if the virtual machine has been created, execute the command:<\/p>\n<pre class=\"lang:default decode:true\">virsh list --all<\/pre>\n<p>The list of all virtual machines will be displayed in the terminal:<\/p>\n<pre class=\"lang:default decode:true\">\r\n Id   Name  \tState\r\n--------------------------\r\n-     vmtest1   shut off\r\n<\/pre>\n<h3>Creating a virtual machine in a manager with GUI<\/h3>\n<p>Find the manager of virtual machines in the list applications and run it:<\/p>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image8.png\" data-rel=\"lightbox-gallery-EuxiGANR\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image8.png\" alt=\"\" width=\"456\" height=\"520\" class=\"aligncenter size-full wp-image-31459\" style=\"border: 3px solid #D1CCCC;\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image8.png 456w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image8-412x470.png 412w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image8-177x202.png 177w\" sizes=\"auto, (max-width: 456px) 100vw, 456px\" \/><\/a><\/p>\n<p>To create a virtual machine, click on <b>File \u2192 Create a virtual machine<\/b> and take the following steps:<\/p>\n<ol>\n<li>Select the way of installing the operating system, for example, from an ISO image: <\/li>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image1.png\" data-rel=\"lightbox-gallery-EuxiGANR\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image1.png\" alt=\"\" width=\"440\" height=\"444\" class=\"aligncenter size-full wp-image-31455\" style=\"border: 3px solid #D1CCCC;\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image1.png 440w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image1-150x150.png 150w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image1-200x202.png 200w\" sizes=\"auto, (max-width: 440px) 100vw, 440px\" \/><\/a><\/p>\n<li>Select the file of the operating system image:<\/li>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image18.png\" data-rel=\"lightbox-gallery-EuxiGANR\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image18.png\" alt=\"\" width=\"474\" height=\"440\" class=\"aligncenter size-full wp-image-31463\" style=\"border: 3px solid #D1CCCC;\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image18.png 474w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image18-218x202.png 218w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<li>Specify the required size of RAM and the number of virtual cores (vCPUs) for the VM:<\/li>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image3-1.png\" data-rel=\"lightbox-gallery-EuxiGANR\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image3-1.png\" alt=\"\" width=\"439\" height=\"440\" class=\"aligncenter size-full wp-image-31456\" style=\"border: 3px solid #D1CCCC;\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image3-1.png 439w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image3-1-150x150.png 150w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image3-1-202x202.png 202w\" sizes=\"auto, (max-width: 439px) 100vw, 439px\" \/><\/a><\/p>\n<li>Configure data storage space. Please note that if you select the option <b>Create a disk image for this virtual machine<\/b>, the disk will be created in the root directory. To create a storage in the required directory select the option <b>Select or create custom settings<\/b> and click <b>Manage<\/b>.<\/li>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image7.png\" data-rel=\"lightbox-gallery-EuxiGANR\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image7.png\" alt=\"\" width=\"442\" height=\"442\" class=\"aligncenter size-full wp-image-31458\" style=\"border: 3px solid #D1CCCC;\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image7.png 442w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image7-150x150.png 150w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image7-202x202.png 202w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/a><\/p>\n<li>Create a data pool and add a volume in this pool for the virtual machine:<\/li>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image12.png\" data-rel=\"lightbox-gallery-EuxiGANR\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image12.png\" alt=\"\" width=\"741\" height=\"531\" class=\"aligncenter size-full wp-image-31461\" style=\"border: 3px solid #D1CCCC;\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image12.png 741w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image12-656x470.png 656w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image12-282x202.png 282w\" sizes=\"auto, (max-width: 741px) 100vw, 741px\" \/><\/a><\/p>\n<ol type=\"a\">\n<li>Add a pool by following instructions in the manager.<\/li>\n<li>Add a volume by following instructions in the manager.<\/li>\n<\/ol>\n<li>Test the configuration of the virtual machine. It is important to select the correct network. In this case, we are referring to the network bridge <b>br0<\/b> created with the help of the yaml file.<\/li>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image19.png\" data-rel=\"lightbox-gallery-EuxiGANR\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image19.png\" alt=\"\" width=\"440\" height=\"483\" class=\"aligncenter size-full wp-image-31464\" style=\"border: 3px solid #D1CCCC;\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image19.png 440w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image19-428x470.png 428w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image19-184x202.png 184w\" sizes=\"auto, (max-width: 440px) 100vw, 440px\" \/><\/a>><\/p>\n<\/ol>\n<p>When the test is complete, click <b>Finish<\/b>. A pop-up window will open; here you can view the configuration of the virtual machine.<\/p>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image5-1.png\" data-rel=\"lightbox-gallery-EuxiGANR\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image5-1.png\" alt=\"\" width=\"1016\" height=\"844\" class=\"aligncenter size-full wp-image-31457\" style=\"border: 3px solid #D1CCCC;\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image5-1.png 1016w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image5-1-566x470.png 566w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image5-1-768x638.png 768w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image5-1-243x202.png 243w\" sizes=\"auto, (max-width: 1016px) 100vw, 1016px\" \/><\/a><\/p>\n<p>After testing the current configuration, click <b>Start installation<\/b>.<\/p>\n<h3>Launch of the virtual machine<\/h3>\n<p>As a next step, run the virtual machine and install the operating system (in our case Debian 12) on it.<\/p>\n<h4>Using a virtual machine with the help of the terminal<\/h4>\n<p>To launch the virtual machine, run the command:<\/p>\n<pre class=\"lang:default decode:true\">virsh start [virtual machine name]<\/pre>\n<p>To check if the machine is running, execute the command:<\/p>\n<pre class=\"lang:default decode:true\">\r\n Id   Name  \tState\r\n-------------------------\r\n 14   vmtest1   running\r\n<\/pre>\n<p>To display the virtual machine, run the command:<\/p>\n<pre class=\"lang:default decode:true\">virt-viewer [virtual machine name]<\/pre>\n<h4>Using a GUI manager to control the virtual machine<\/h4>\n<p>To run the VM in the manager window, right-click on the configured virtual machine and select the <b>Start<\/b> option.<\/p>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image9.png\" data-rel=\"lightbox-gallery-EuxiGANR\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image9.png\" alt=\"\" width=\"453\" height=\"206\" class=\"aligncenter size-full wp-image-31460\" style=\"border: 3px solid #D1CCCC;\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image9.png 453w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image9-444x202.png 444w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/a><\/p>\n<p>Install the OS, by following the instructions in the VM window.<\/p>\n<p><a href=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image17.png\" data-rel=\"lightbox-gallery-EuxiGANR\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/trueconf.com\/blog\/wp-content\/uploads\/2018\/03\/image17.png\" alt=\"\" width=\"1016\" height=\"860\" class=\"aligncenter size-full wp-image-31462\" style=\"border: 3px solid #D1CCCC;\" loading=\"lazy\" title=\"\" srcset=\"https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image17.png 1016w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image17-555x470.png 555w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image17-768x650.png 768w, https:\/\/trueconf.com/blog\/wp-content\/uploads\/2018\/03\/image17-239x202.png 239w\" sizes=\"auto, (max-width: 1016px) 100vw, 1016px\" \/><\/a><\/p>\n<h3>TrueConf Server installation<\/h3>\n<p>Now everything is ready for the installation of TrueConf Server on the virtual machine, in particular:<\/p>\n<ul>\n<li>We have made sure that hardware-based virtualization is supported;<\/li>\n<li>The network bridge for the virtual machine has been created;<\/li>\n<li>The virtual machine has been configured.<\/li>\n<\/ul>\n<p>Install TrueConf Server as it is shown in <a href=\"https:\/\/trueconf.com\/blog\/knowledge-base\/install-and-set-up-your-video-conferencing-server-for-linux-in-15-minutes.html\" target=\"_blank\" rel=\"noopener\">our guide<\/a>. After installation, you can add user accounts, configure HTTPS and other TrueConf Server parameters. If you have any questions, please contact our <a href=\"https:\/\/trueconf.com\/support.html\" target=\"_blank\" rel=\"noopener\">technical support<\/a>.<\/p>\n<div class=\"accent-note ui-mb-sm-1\">\n<p class=\"primary-medium-text ui-mb-sm-1\"><b>Other Resources:<\/b><\/p>\n<ul class=\"ui-list ui-list--medium\" style=\"margin-bottom: 18px;\">\n<li class=\"ui-list__item ui-list__item--disc\"><a href=\"https:\/\/github.com\/TrueConf\/TrueConf-SDK-for-Android\" title=\"TrueConf SDK for Android\" target=\"_blank\" rel=\"noopener\">TrueConf SDK for Android<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>TrueConf Server can be deployed on a virtual machine (VM). However, this is a very complex task and we do not recommend this procedure to inexperienced users: correct configuration of a virtual machine may sometimes be very difficult. This guide will describe the configuration of the KVM hypervisor (Kernel-based Virtual Machine). We will take the [&hellip;]<\/p>\n","protected":false},"author":73,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[260],"tags":[191],"class_list":["post-8203","post","type-post","status-publish","format-standard","hentry","category-knowledge-base","tag-deployment","wpautop"],"_links":{"self":[{"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/posts\/8203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/users\/73"}],"replies":[{"embeddable":true,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/comments?post=8203"}],"version-history":[{"count":37,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/posts\/8203\/revisions"}],"predecessor-version":[{"id":36560,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/posts\/8203\/revisions\/36560"}],"wp:attachment":[{"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/media?parent=8203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/categories?post=8203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trueconf.com/blog\/wp-json\/wp\/v2\/tags?post=8203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}