{"id":13448,"date":"2022-07-14T22:43:36","date_gmt":"2022-07-14T19:43:36","guid":{"rendered":"https:\/\/kifarunix.com\/?p=13448"},"modified":"2024-03-09T20:24:43","modified_gmt":"2024-03-09T17:24:43","slug":"install-guacamole-as-docker-container-on-rocky-linux","status":"publish","type":"post","link":"https:\/\/kifarunix.com\/install-guacamole-as-docker-container-on-rocky-linux\/","title":{"rendered":"Install Guacamole as Docker Container on Rocky Linux"},"content":{"rendered":"\n<p>In this guide, we are going to learn how to install Guacamole as Docker Container on Rocky Linux. Guacamole&nbsp;is a clientless HTML5 web based remote desktop gateway which provides remote access to servers and desktops through a web browser. It supports standard protocols like VNC, RDP, and SSH.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Table of Contents<\/h2><nav><ul><li><a href=\"#install-and-run-guacamole-as-docker-container\">Install and Run Guacamole as Docker Container<\/a><ul><li><a href=\"#install-guacamole-as-a-docker-container-on-rocky-linux\">Install Guacamole as a Docker Container on Rocky Linux<\/a><ul><li><a href=\"#install-docker-ce-on-rocky-linux-by-running-the-commands-below\">Install Docker CE on Rocky Linux by running the commands below;<\/a><\/li><li><a href=\"#start-and-enable-docker-service\">Start and enable Docker service;<\/a><\/li><li><a href=\"#install-docker-compose-on-rocky-linux\">Install Docker Compose on Rocky Linux;<\/a><\/li><li><a href=\"#download-guacamole-container-images\">Download Guacamole Container Images<\/a><\/li><\/ul><\/li><li><a href=\"#configure-guacamole-authentication\">Configure Guacamole Authentication<\/a><ul><li><a href=\"#create-my-sql-docker-container\">Create MySQL Docker Container<\/a><\/li><li><a href=\"#initialize-guacamole-my-sql-database\">Initialize Guacamole MySQL Database<\/a><\/li><li><a href=\"#create-guacamole-database-and-database-user\">Create Guacamole Database and Database User<\/a><\/li><\/ul><\/li><li><a href=\"#start-guacamole-server-container\">Start Guacamole Server Container<\/a><\/li><li><a href=\"#start-guacamole-client-container\">Start Guacamole Client Container<\/a><\/li><li><a href=\"#accessing-guacamole-from-browser\">Accessing Guacamole from Browser<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"install-and-run-guacamole-as-docker-container\">Install and Run Guacamole as Docker Container<\/h2>\n\n\n\n<p>Guacamole is made up of two parts;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>guacamole-server<\/code>, which provides the&nbsp;guacd&nbsp;proxy&nbsp;and all the native, server-side components required by Guacamole to connect to remote desktops.<\/li>\n\n\n\n<li><code>guacamole-client<\/code>&nbsp;which provides the client to be served by the servlet container which is usually&nbsp;<code>Tomcat<\/code>.<\/li>\n<\/ul>\n\n\n\n<p>You need to install both of these components to setup Guacamole web-based remote desktop client.<\/p>\n\n\n\n<p>If you do not want to run Guacamole as docker container, then <a href=\"https:\/\/kifarunix.com\/install-apache-guacamole-on-rocky-linux-8\/\" target=\"_blank\" rel=\"noreferrer noopener\">check this guide<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"install-guacamole-as-a-docker-container-on-rocky-linux\">Install Guacamole as a Docker Container on Rocky Linux<\/h3>\n\n\n\n<p>To be able to run Guacamole as a Docker Container on Rocky Linux;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"install-docker-ce-on-rocky-linux-by-running-the-commands-below\">Install Docker CE on Rocky Linux by running the commands below;<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>dnf config-manager --add-repo=https:\/\/download.docker.com\/linux\/centos\/docker-ce.repo<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>dnf install docker-ce docker-ce-cli containerd.io<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"start-and-enable-docker-service\">Start and enable Docker service;<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl enable --now docker<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"install-docker-compose-on-rocky-linux\">Install Docker Compose on Rocky Linux;<\/h4>\n\n\n\n<p>Execute the commands below to install Docker compose on Rocky Linux;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -sL \"https:\/\/github.com\/docker\/compose\/releases\/download\/1.29.2\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod +x \/usr\/local\/bin\/docker-compose<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"download-guacamole-container-images\">Download Guacamole Container Images<\/h4>\n\n\n\n<p>Execute the commands below to download the Guacamole server and client images.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker pull guacamole\/guacd<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>docker pull guacamole\/guacamole<\/code><\/pre>\n\n\n\n<p>Listing available images;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker images<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>REPOSITORY            TAG       IMAGE ID       CREATED        SIZE\nguacamole\/guacd       latest    70fd332fa74e   17 hours ago   271MB\nguacamole\/guacamole   latest    599b74ba38c9   18 hours ago   439MB<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"configure-guacamole-authentication\">Configure Guacamole Authentication<\/h3>\n\n\n\n<p>The Guacamole Docker container needs at least one authentication mechanism in order to function, such as a MySQL database, PostgreSQL database, LDAP directory or RADIUS server.<\/p>\n\n\n\n<p>In this guide, we will use MySQL database authentication.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"create-my-sql-docker-container\">Create MySQL Docker Container<\/h4>\n\n\n\n<p>As a result, let&#8217;s deploy MySQL database container. We are using the latest MySQL 8 docker image.<\/p>\n\n\n\n<p>The command below will download latest MySQL 8 docker image, create a MySQL 8 Docker container called, <strong><code>guacamole_db<\/code><\/strong>, Guacamole database (<strong><code>guacdb<\/code><\/strong>), MySQL root user password;<\/p>\n\n\n\n<pre class=\"scroll-sz\"><code>docker run --name guacamole_db \\\n\t-e MYSQL_ROOT_PASSWORD=p@ssw0rd \\\n\t-e MYSQL_DATABASE=guacdb \\\n\t-d mysql\/mysql-server\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"initialize-guacamole-my-sql-database\">Initialize Guacamole MySQL Database<\/h4>\n\n\n\n<p>Next, you need to generate Guacamole MySQL database initialization schema.<\/p>\n\n\n\n<p>Let&#8217;s create a directory to store the schema;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p \/opt\/guacamole\/mysql<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --rm guacamole\/guacamole \/opt\/guacamole\/bin\/initdb.sh --mysql &gt; \/opt\/guacamole\/mysql\/01-initdb.sql<\/code><\/pre>\n\n\n\n<p>Copy the Guacamole MySQL database initialization script to MySQL Docker container;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker cp \/opt\/guacamole\/mysql\/01-initdb.sql guacamole_db:\/docker-entrypoint-initdb.d<\/code><\/pre>\n\n\n\n<p>The script will be copied to <code>\/docker-entrypoint-initdb.d<\/code> directory of the MySQL docker container.<\/p>\n\n\n\n<p>Connect to MySQL database container;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it guacamole_db bash<\/code><\/pre>\n\n\n\n<p>This will drop you to the root directory of MySQL container.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>bash-4.4#<\/code><\/pre>\n\n\n\n<p>Check that the initialization script is available;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls \/docker-entrypoint-initdb.d\/<\/code><\/pre>\n\n\n\n<p>Initialize Guacamole MySQL Database;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/docker-entrypoint-initdb.d\/<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>mysql -u root -p<\/code><\/pre>\n\n\n\n<p>Use the password specified with <strong><code>MYSQL_ROOT_PASSWORD<\/code><\/strong> above. You should now drop into MySQL prompt;<\/p>\n\n\n\n<pre class=\"scroll-box\"><code>bash-4.4# mysql -u root -p\nEnter password: \nWelcome to the MySQL monitor.  Commands end with ; or \\g.\nYour MySQL connection id is 24\nServer version: 8.0.29 MySQL Community Server - GPL\n\nCopyright (c) 2000, 2022, Oracle and\/or its affiliates.\n\nOracle is a registered trademark of Oracle Corporation and\/or its\naffiliates. Other names may be trademarks of their respective\nowners.\n\nType 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.\n\nmysql&gt;\n<\/code><\/pre>\n\n\n\n<p>Initialize the Guacamole database;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>use guacdb;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>source 01-initdb.sql;<\/code><\/pre>\n\n\n\n<p>When done initializing, check the tables available;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>show tables;<\/code><\/pre>\n\n\n\n<p>Sample output;<\/p>\n\n\n\n<pre class=\"scroll-box\"><code>+---------------------------------------+\n| Tables_in_guacdb                      |\n+---------------------------------------+\n| guacamole_connection                  |\n| guacamole_connection_attribute        |\n| guacamole_connection_group            |\n| guacamole_connection_group_attribute  |\n| guacamole_connection_group_permission |\n| guacamole_connection_history          |\n| guacamole_connection_parameter        |\n| guacamole_connection_permission       |\n| guacamole_entity                      |\n| guacamole_sharing_profile             |\n| guacamole_sharing_profile_attribute   |\n| guacamole_sharing_profile_parameter   |\n| guacamole_sharing_profile_permission  |\n| guacamole_system_permission           |\n| guacamole_user                        |\n| guacamole_user_attribute              |\n| guacamole_user_group                  |\n| guacamole_user_group_attribute        |\n| guacamole_user_group_member           |\n| guacamole_user_group_permission       |\n| guacamole_user_history                |\n| guacamole_user_password_history       |\n| guacamole_user_permission             |\n+---------------------------------------+\n23 rows in set (0.01 sec)\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"create-guacamole-database-and-database-user\">Create Guacamole Database and Database User<\/h4>\n\n\n\n<p>Next, create the Guacamole database user and grant the required permissions on the database;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>create user guacadmin@'%' identified by 'ChangeME';<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>grant SELECT,UPDATE,INSERT,DELETE on guacdb.* to guacadmin@'%';<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>flush privileges;\nquit<\/code><\/pre>\n\n\n\n<p>Exit the MySQL container;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>exit<\/code><\/pre>\n\n\n\n<p>If you check the running containers;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps<\/code><\/pre>\n\n\n\n<p>Sample output;<\/p>\n\n\n\n<pre class=\"scroll-box\"><code>\nCONTAINER ID   IMAGE                COMMAND                  CREATED         STATUS                   PORTS                       NAMES\n8fe00bea2c59   mysql\/mysql-server   \"\/entrypoint.sh mysq\u2026\"   3 minutes ago   Up 3 minutes (healthy)   3306\/tcp, 33060-33061\/tcp   guacamole_db\n<\/code><\/pre>\n\n\n\n<p>As you can see, the health status is healthy, (started and running).<\/p>\n\n\n\n<p>You can check the status again and print specific fields;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps --format '{{.ID}}\\t{{.Image}}\\t{{.Status}}\\t{{.Names}}'<\/code><\/pre>\n\n\n\n<p>You can also check the logs for the container;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker logs guacamole_db<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"start-guacamole-server-container\">Start Guacamole Server Container<\/h3>\n\n\n\n<p>You can start the Guacamole Server container in the background as a service.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name guacamole-server -d guacamole\/guacd<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>docker logs --tail 10 guacamole-server<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>guacd&#91;7]: INFO:\tGuacamole proxy daemon (guacd) version 1.4.0 started\nguacd&#91;7]: INFO:\tListening on host 0.0.0.0, port 4822<\/code><\/pre>\n\n\n\n<p>Again, list running containers after a few moments.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps<\/code><\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>CONTAINER ID   IMAGE                COMMAND                  CREATED             STATUS                       PORTS                       NAMES\n669ad905db27   guacamole\/guacd      \"\/bin\/sh -c '\/usr\/lo\u2026\"   23 minutes ago      Up 23 minutes (healthy)      4822\/tcp                    guacamole-server\nb78a10e6b107   mysql\/mysql-server   \"\/entrypoint.sh mysq\u2026\"   About an hour ago   Up About an hour (healthy)   3306\/tcp, 33060-33061\/tcp   guacamole_db\n<\/code><\/pre>\n\n\n\n<p>As you can see, Guacamole server is now up and running.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"start-guacamole-client-container\">Start Guacamole Client Container<\/h3>\n\n\n\n<p>You can now start the Guacamole client.<\/p>\n\n\n\n<p>In order for this to work, you need to link it to the Guacamole server and the Guacamole database.<\/p>\n\n\n\n<p>You also need to expose the Guacamole client port, <strong>8080<\/strong> on the host to allow external access to the Guacamole.<\/p>\n\n\n\n<p>All the containers will use the default Docker networks.<\/p>\n\n\n\n<p>Thus, launch the Guacamole client;<\/p>\n\n\n\n<pre class=\"scroll-sz\"><code>docker run --name guacamole-client \\\n\t--link guacamole-server:guacd \\\n\t--link guacamole_db:mysql \\\n\t-e MYSQL_DATABASE=guacdb \\\n\t-e MYSQL_USER=guacadmin \\\n\t-e MYSQL_PASSWORD=ChangeME \\\n\t-d -p 80:8080 guacamole\/guacamole\n<\/code><\/pre>\n\n\n\n<p>Check the Docker container processes;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps<\/code><\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>CONTAINER ID   IMAGE                 COMMAND                  CREATED             STATUS                       PORTS                                   NAMES\n07233565559c   guacamole\/guacamole   \"\/opt\/guacamole\/bin\/\u2026\"   23 seconds ago      Up 20 seconds                0.0.0.0:80-&gt;8080\/tcp, :::80-&gt;8080\/tcp   guacamole-client\n669ad905db27   guacamole\/guacd       \"\/bin\/sh -c '\/usr\/lo\u2026\"   29 minutes ago      Up 29 minutes (healthy)      4822\/tcp                                guacamole-server\nb78a10e6b107   mysql\/mysql-server    \"\/entrypoint.sh mysq\u2026\"   About an hour ago   Up About an hour (healthy)   3306\/tcp, 33060-33061\/tcp               guacamole_db\n<\/code><\/pre>\n\n\n\n<p>As you can see, the Guacamole client is listening on port 8080, exposed on the host as port 80;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ss -altnp | grep :80<\/code><\/pre>\n\n\n\n<pre class=\"scroll-box\"><code>LISTEN 0      4096         0.0.0.0:80        0.0.0.0:*    users:((\"docker-proxy\",pid=6129,fd=4))   \nLISTEN 0      4096            [::]:80           [::]:*    users:((\"docker-proxy\",pid=6135,fd=4))\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"accessing-guacamole-from-browser\">Accessing Guacamole from Browser<\/h3>\n\n\n\n<p>Once Guacamole is setup, you can access it from web browser using the address&nbsp;<code><strong>http:\/\/server-IP\/guacamole<\/strong><\/code>.<\/p>\n\n\n\n<p>Default Credentials;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>User: <strong>guacadmin<\/strong><\/li>\n\n\n\n<li>Password: <strong>guacadmin<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1336\" height=\"761\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/apache-guacamole-docker-login.png\" alt=\"Install Guacamole as Docker Container on Rocky Linux\" class=\"wp-image-13439\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/apache-guacamole-docker-login.png?v=1657814087 1336w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/apache-guacamole-docker-login-768x437.png?v=1657814087 768w\" sizes=\"(max-width: 1336px) 100vw, 1336px\" \/><\/figure>\n\n\n\n<p>Upon successful login, you get to Guacamole web dashboard.<\/p>\n\n\n\n<div><a href=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/apache-guacamole-docker-connections.png\" class=\"td-modal-image\"><figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1905\" height=\"541\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/apache-guacamole-docker-connections.png\" alt=\"Install Guacamole as Docker Container on Rocky Linux\" class=\"wp-image-13438\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/apache-guacamole-docker-connections.png?v=1657814072 1905w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/apache-guacamole-docker-connections-768x218.png?v=1657814072 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/apache-guacamole-docker-connections-1536x436.png?v=1657814072 1536w\" sizes=\"(max-width: 1905px) 100vw, 1905px\" \/><\/figure><\/a><\/div>\n\n\n\n<p>And there you go. As you can see, no connections have been added yet. You can now add connections to your Guacamole.<\/p>\n\n\n\n<p>You can also reset Guacamole user password on the settings page.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1893\" height=\"729\" src=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/guacamole-settings.png\" alt=\"Install Guacamole as Docker Container on Rocky Linux\" class=\"wp-image-13440\" title=\"\" srcset=\"https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/guacamole-settings.png?v=1657814254 1893w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/guacamole-settings-768x296.png?v=1657814254 768w, https:\/\/kifarunix.com\/wp-content\/uploads\/2022\/07\/guacamole-settings-1536x592.png?v=1657814254 1536w\" sizes=\"(max-width: 1893px) 100vw, 1893px\" \/><\/figure>\n\n\n\n<p>That marks the end of our guide on install and run Guacamole as Docker Container on Rocky Linux.<\/p>\n\n\n\n<p>Read more on <a href=\"https:\/\/guacamole.apache.org\/doc\/0.9.6\/gug\/users-guide.html\" target=\"_blank\" rel=\"noreferrer noopener\">Guacamole User Guide<\/a>.<\/p>\n\n\n\n<p>See other tutorials;<\/p>\n\n\n\n<p><a href=\"https:\/\/kifarunix.com\/how-to-install-guacamole-on-debian-12\/\">How to Install&nbsp;Guacamole&nbsp;on Debian 12<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this guide, we are going to learn how to install Guacamole as Docker Container on Rocky Linux. Guacamole&nbsp;is a clientless HTML5 web based remote<\/p>\n","protected":false},"author":3,"featured_media":13439,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[121,917,214],"tags":[5525,5524,5512,5523,5522],"class_list":["post-13448","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","category-guacamole","category-remote-desktop","tag-apache-guacamole-container","tag-apache-guacamole-docker","tag-guacamole-docker-container","tag-guacamole-rocky-linux-docker-container","tag-install-guacamole-as-docker-container-on-rocky-linux","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50","resize-featured-image"],"_links":{"self":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/13448"}],"collection":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/comments?post=13448"}],"version-history":[{"count":9,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/13448\/revisions"}],"predecessor-version":[{"id":20592,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/posts\/13448\/revisions\/20592"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media\/13439"}],"wp:attachment":[{"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/media?parent=13448"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/categories?post=13448"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kifarunix.com\/wp-json\/wp\/v2\/tags?post=13448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}