{"id":7169,"date":"2016-07-05T10:00:14","date_gmt":"2016-07-05T01:00:14","guid":{"rendered":"http:\/\/www.skyarch.net\/blog\/?p=7169"},"modified":"2016-07-03T10:02:00","modified_gmt":"2016-07-03T01:02:00","slug":"skyhopper-on-ubuntu-environment","status":"publish","type":"post","link":"https:\/\/www.skyarch.net\/blog\/skyhopper-on-ubuntu-environment\/","title":{"rendered":"Skyhopper on Ubuntu Environment"},"content":{"rendered":"<p>Hey Guys, I guess you want to checkout and install SkyHopper on your local PC or on an EC2 server with Ubuntu which is a Debian based Linux OS. The purpose of this is to checkout SkyHopper to another linux based OS as currenlty, we only support Amazon Linux for the installation instruction.<\/p>\n<p>Now, here are some tips and instruction when installing the service into Ubuntu Version 14.04 LTS Client or server.<\/p>\n<p>First is to remove old ruby version and upgrade it to version 2.2.4. Please careful not to over-upgrade it a more higher version as it will have dependency problems in the future. As of now we would only use Ruby version 2.2.4<\/p>\n<pre class=\"loom_code prettyprint prettyprinted\"><span class=\"pln\">sudo apt<\/span><span class=\"pun\">-<\/span><span class=\"kwd\">get<\/span><span class=\"pln\"> remove ruby<\/span><\/pre>\n<p>The next step is to install some dependencies for Ruby.<\/p>\n<pre class=\"loom_code prettyprint prettyprinted\"><span class=\"pln\">sudo apt<\/span><span class=\"pun\">-<\/span><span class=\"kwd\">get<\/span><span class=\"pln\"> update\nsudo apt<\/span><span class=\"pun\">-<\/span><span class=\"kwd\">get<\/span><span class=\"pln\"> install git<\/span><span class=\"pun\">-<\/span><span class=\"pln\">core curl zlib1g<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev build<\/span><span class=\"pun\">-<\/span><span class=\"pln\">essential <\/span><span class=\"pln\">libreadline<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev libyaml<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev libsqlite3<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev sqlite3 libxml2<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev libxslt1<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev libcurl4<\/span><span class=\"pun\">-<\/span><span class=\"pln\">openssl<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev<\/span><span class=\"pln\"> libffi<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev<\/span><\/pre>\n<p>Next we're going to be installing Ruby using rbenv. Take note that there are other ways to install ruby that have their own benefits, most people prefer using rbenv these days, but if you're familiar with rvm you can install using that method as you please. But for now I will just use rbenv.<\/p>\n<p>Installing with <code>rbenv<\/code> is a simple two step process. First you install <code>rbenv<\/code>, and then <code>ruby-build<\/code>:<\/p>\n<pre class=\"loom_code prettyprint prettyprinted\"><span class=\"pln\">cd\ngit clone git<\/span><span class=\"pun\">:<\/span><span class=\"com\">\/\/github.com\/sstephenson\/rbenv.git .rbenv<\/span><span class=\"pln\">\necho <\/span><span class=\"str\">'export PATH=\"$HOME\/.rbenv\/bin:$PATH\"'<\/span> <span class=\"pun\">>><\/span> <span class=\"pun\">~\/.<\/span><span class=\"pln\">bashrc\necho <\/span><span class=\"str\">'eval \"$(rbenv init -)\"'<\/span> <span class=\"pun\">>><\/span> <span class=\"pun\">~\/.<\/span><span class=\"pln\">bashrc\n<\/span><span class=\"kwd\">exec<\/span><span class=\"pln\"> $SHELL\n\ngit clone git<\/span><span class=\"pun\">:<\/span><span class=\"com\">\/\/github.com\/sstephenson\/ruby-build.git ~\/.rbenv\/plugins\/ruby-build<\/span><span class=\"pln\">\necho <\/span><span class=\"str\">'export PATH=\"$HOME\/.rbenv\/plugins\/ruby-build\/bin:$PATH\"'<\/span> <span class=\"pun\">>><\/span> <span class=\"pun\">~\/.<\/span><span class=\"pln\">bashrc\n<\/span><span class=\"kwd\">exec<\/span><span class=\"pln\"> $SHELL\n\nrbenv install <\/span><span class=\"lit\">2.2<\/span><span class=\"pun\">.4<\/span><span class=\"pln\">\nrbenv <\/span><span class=\"kwd\">global<\/span> <span class=\"lit\">2.2<\/span><span class=\"pun\">.4<\/span><span class=\"pln\">\nruby <\/span><span class=\"pun\">-<\/span><span class=\"pln\">v<\/span><\/pre>\n<p>\u00a0<\/p>\n<p><strong>Install bundler<\/strong> using gem to get out from dependency hell, and ensures that the gems you need are present.<\/p>\n<pre class=\"loom_code prettyprint prettyprinted\"><span class=\"pln\">gem install bundler<\/span><\/pre>\n<p><strong>Install nodejs and npm for frontend dependencies<\/strong><\/p>\n<pre class=\"loom_code prettyprint prettyprinted\"><span class=\"pln\">sudo apt<\/span><span class=\"pun\">-<\/span><span class=\"kwd\">get<\/span><span class=\"pln\"> install nodejs nodejs<\/span><span class=\"pun\">-<\/span><span class=\"pln\">legacy npm <\/span><\/pre>\n<p><strong>Install bower using npm<\/strong><\/p>\n<pre class=\"loom_code prettyprint prettyprinted\"><span class=\"pln\">sudo npm install bower <\/span><span class=\"pun\">--<\/span><span class=\"kwd\">global<\/span><\/pre>\n<p><strong>Install necessary development libraries needed\u00a0<\/strong><\/p>\n<pre class=\"loom_code prettyprint prettyprinted\"><span class=\"pln\">sudo apt<\/span><span class=\"pun\">-<\/span><span class=\"kwd\">get<\/span><span class=\"pln\"> install <span class=\"pln\">libreadline<\/span><span class=\"pun\">-<\/span><span class=\"pln\">gplv2<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev<\/span> libncurses5<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev zlib<\/span><span class=\"pun\">-<\/span><span class=\"pln\">devel ncurses<\/span><span class=\"pun\">-<\/span><span class=\"pln\">devel <\/span><span class=\"pln\">libssl<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev libmysqlclient<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev<\/span><\/pre>\n<p><strong>Install MySQL Server<\/strong><\/p>\n<p class=\"para\">To install MySQL, run the following command from a terminal prompt:<\/p>\n<div class=\"screen\">\n<pre class=\"contents \"><span class=\"cmd command\">sudo apt-get install mysql-server<\/span>\n<\/pre>\n<\/div>\n<div class=\"note\" title=\"Note\">\n<div class=\"inner\">\n<div class=\"region\">\n<div class=\"contents\">\n<p class=\"para\">During the installation process you will be prompted to enter a password for the MySQL root user.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p class=\"para\">Once the installation is complete, the MySQL server should be started automatically. You can run the following command from a terminal prompt to check whether the MySQL server is running:<\/p>\n<div class=\"screen\">\n<pre class=\"contents \"><span class=\"cmd command\">sudo netstat -tap | grep mysql<\/span>\n<\/pre>\n<\/div>\n<p class=\"para\">When you run this command, you should see the following line or something similar:<\/p>\n<div class=\"code\">\n<pre class=\"contents \">tcp        0      0 localhost:mysql         *:*                LISTEN      2556\/mysqld\n<\/pre>\n<\/div>\n<p class=\"para\">If the server is not running correctly, you can type the following command to start it:<\/p>\n<div class=\"screen\">\n<pre class=\"contents \"><span class=\"cmd command\">sudo service mysql restart<\/span><\/pre>\n<p><strong>Then we need to Install Redis<\/strong><\/p>\n<p>\u00a0<\/p>\n<\/div>\n<p>To install redis, please follow the instruction written here:\u00a0<a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-install-and-use-redis\">https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-install-and-use-redis<\/a><\/p>\n<p><strong>Install nginx<\/strong> for websockets, traffic hosting and handling to be used in SkyHopper System.<\/p>\n<pre class=\"contents \"><span class=\"cmd command\">sudo apt-get install nginx<\/span><\/pre>\n<p>You will probably be prompted for your user's password. Enter it to confirm that you wish to complete the installation. The appropriate software will be downloaded to your server and then automatically installed.<\/p>\n<p>We can make sure that our web server will restart automatically when the server is rebooted by typing:<\/p>\n<pre class=\"contents \"><span class=\"cmd command\">sudo update-rc.d nginx defaults<\/span><\/pre>\n<p>Then we need to remove the default variable of <strong>nginx to replace it with SkyHopper\u00a0<\/strong><\/p>\n<pre class=\"loom_code prettyprint prettyprinted\"><span class=\"pln\">sudo rm <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">etc<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">nginx<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">sites<\/span><span class=\"pun\">-<\/span><span class=\"pln\">available<\/span><span class=\"pun\">\/<\/span><span class=\"kwd\">default<\/span><\/pre>\n<p>Then copy the <strong>reverse proxy to setup nginx.\u00a0<\/strong>You might need to change some variables written as it needs to correspond to your skyhopper setup, for example the directory of your skyhopper files are located.<\/p>\n<pre>$ sudo tee \/etc\/nginx\/conf.d\/skyhopper.conf <span class=\"pl-s\"><span class=\"pl-k\"><<<\/span><span class=\"pl-k\">EOF<\/span> >\/dev\/null<\/span>\n<span class=\"pl-s\">server {<\/span>\n<span class=\"pl-s\">        listen 80;<\/span>\n<span class=\"pl-s\">        server_name skyhopper.local; #Setup Environment<\/span>\n\n<span class=\"pl-s\">        ### Production only runs here ###<\/span>\n<span class=\"pl-s\">        location ~ ^\/(assets|fonts) {<\/span>\n<span class=\"pl-s\">          root \/home\/ec2-user\/skyhopper\/public; # The location of skyhopper cloned directory<\/span>\n<span class=\"pl-s\">        }<\/span>\n<span class=\"pl-s\">        ### Only when running production environment ###<\/span>\n\n<span class=\"pl-s\">        location \/ {<\/span>\n<span class=\"pl-s\">            proxy_set_header    X-Real-IP   \\$remote_addr;<\/span>\n<span class=\"pl-s\">            proxy_set_header    Host    \\$http_host;<\/span>\n<span class=\"pl-s\">            proxy_pass  http:\/\/127.0.0.1:3000;<\/span>\n<span class=\"pl-s\">        }<\/span>\n\n<span class=\"pl-s\">        location \/ws {<\/span>\n<span class=\"pl-s\">            proxy_http_version 1.1;<\/span>\n<span class=\"pl-s\">            proxy_set_header    Upgrade \\$http_upgrade;<\/span>\n<span class=\"pl-s\">            proxy_set_header    Connection \"upgrade\";<\/span>\n<span class=\"pl-s\">            proxy_set_header    Host    \\$http_host;<\/span>\n<span class=\"pl-s\">            proxy_pass http:\/\/127.0.0.1:3210;<\/span>\n<span class=\"pl-s\">        }<\/span>\n<span class=\"pl-s\">}<\/span>\n<span class=\"pl-s\"><span class=\"pl-k\">EOF<\/span><\/span><\/pre>\n<h2>Downloading\/Cloning SkyHopper from GitHub<\/h2>\n<div class=\"highlight highlight-source-shell\">\n<pre>$ <span class=\"pl-c1\">cd<\/span> <span class=\"pl-k\">~<\/span> <span class=\"pl-c\">#the directory where you want to install SkyHopper<\/span>\n$ git clone https:\/\/github.com\/skyarch-networks\/skyhopper.git<\/pre>\n<\/div>\n<p>Up to this point it can be executed by Chef.<\/p>\n<h3>Creating MySQL user<\/h3>\n<div class=\"highlight highlight-source-shell\">\n<pre>$ mysql -uroot<\/pre>\n<\/div>\n<h4><a id=\"user-content-development\" class=\"anchor\" href=\"https:\/\/github.com\/skyarch-networks\/skyhopper\/blob\/master\/doc\/installation\/en\/skyhopper.md#development\"><\/a>development<\/h4>\n<div class=\"highlight highlight-source-shell\">\n<pre>mysql<span class=\"pl-k\">><\/span> CREATE USER <span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>skyhopper_dev<span class=\"pl-pds\">'<\/span><\/span>@<span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>localhost<span class=\"pl-pds\">'<\/span><\/span> IDENTIFIED BY <span class=\"pl-s\"><span class=\"pl-pds\">'your_dev_password<\/span><span class=\"pl-pds\">'<\/span><\/span><span class=\"pl-k\">;<\/span>\nmysql<span class=\"pl-k\">><\/span> GRANT CREATE, SHOW DATABASES ON <span class=\"pl-k\">*<\/span>.<span class=\"pl-k\">*<\/span> TO <span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>skyhopper_dev<span class=\"pl-pds\">'<\/span><\/span>@<span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>localhost<span class=\"pl-pds\">'<\/span><\/span><span class=\"pl-k\">;<\/span>\nmysql<span class=\"pl-k\">><\/span> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES ON <span class=\"pl-s\"><span class=\"pl-pds\">`<\/span>SkyHopperDevelopment<span class=\"pl-pds\">`<\/span><\/span>.<span class=\"pl-k\">*<\/span> TO <span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>skyhopper_dev<span class=\"pl-pds\">'<\/span><\/span>@<span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>localhost<span class=\"pl-pds\">'<\/span><\/span><span class=\"pl-k\">;<\/span>\nmysql<span class=\"pl-k\">><\/span> <span class=\"pl-c1\">exit<\/span><\/pre>\n<\/div>\n<h4><a id=\"user-content-production\" class=\"anchor\" href=\"https:\/\/github.com\/skyarch-networks\/skyhopper\/blob\/master\/doc\/installation\/en\/skyhopper.md#production\"><\/a>production<\/h4>\n<div class=\"highlight highlight-source-shell\">\n<pre>mysql<span class=\"pl-k\">><\/span> SET storage_engine=INNODB<span class=\"pl-k\">;<\/span>\nmysql<span class=\"pl-k\">><\/span> CREATE USER <span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>skyhopper_prod<span class=\"pl-pds\">'<\/span><\/span>@<span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>localhost<span class=\"pl-pds\">'<\/span><\/span> IDENTIFIED BY <span class=\"pl-s\"><span class=\"pl-pds\">'your_prod_password<\/span><span class=\"pl-pds\">'<\/span><\/span><span class=\"pl-k\">;<\/span>\nmysql<span class=\"pl-k\">><\/span> CREATE DATABASE IF NOT EXISTS <span class=\"pl-s\"><span class=\"pl-pds\">`<\/span>SkyHopperProduction<span class=\"pl-pds\">`<\/span><\/span> DEFAULT CHARACTER SET <span class=\"pl-s\"><span class=\"pl-pds\">`<\/span>utf8<span class=\"pl-pds\">`<\/span><\/span> COLLATE <span class=\"pl-s\"><span class=\"pl-pds\">`<\/span>utf8_unicode_ci<span class=\"pl-pds\">`<\/span><\/span><span class=\"pl-k\">;<\/span>\nmysql<span class=\"pl-k\">><\/span> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES ON <span class=\"pl-s\"><span class=\"pl-pds\">`<\/span>SkyHopperProduction<span class=\"pl-pds\">`<\/span><\/span>.<span class=\"pl-k\">*<\/span> TO <span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>skyhopper_prod<span class=\"pl-pds\">'<\/span><\/span>@<span class=\"pl-s\"><span class=\"pl-pds\">'<\/span>localhost<span class=\"pl-pds\">'<\/span><\/span><span class=\"pl-k\">;<\/span>\nmysql<span class=\"pl-k\">><\/span> <span class=\"pl-c1\">exit<\/span><\/pre>\n<\/div>\n<h2>SkyHopper Setup<\/h2>\n<div class=\"highlight highlight-source-shell\">\n<pre>$ <span class=\"pl-c1\">cd<\/span> skyhopper<\/pre>\n<h3>bundle install<\/h3>\n<div class=\"highlight highlight-source-shell\">\n<pre>$ bundle install --path vendor\/bundle<\/pre>\n<\/div>\n<h3>bower install<\/h3>\n<div class=\"highlight highlight-source-shell\">\n<pre>$ bower install<\/pre>\n<\/div>\n<h3>Compiling TypeScript<\/h3>\n<div class=\"highlight highlight-source-shell\">\n<pre>$ sudo npm i -g gulp\n$ <span class=\"pl-c1\">cd<\/span> frontend\/\n$ npm i\n$ gulp tsd\n$ gulp ts\n$ <span class=\"pl-c1\">cd<\/span> ..<\/pre>\n<\/div>\n<h3>database.yml<\/h3>\n<div class=\"highlight highlight-source-shell\">\n<pre>$ cp config\/database_default.yml config\/database.yml<\/pre>\n<\/div>\n<\/div>\n<h4>development<\/h4>\n<div class=\"highlight highlight-source-yaml\">\n<pre><span class=\"pl-s\"><span class=\"pl-ent\">default:<\/span> <span class=\"pl-s\">&default<\/span><\/span>\n  <span class=\"pl-s\"><span class=\"pl-ent\">adapter:<\/span> <span class=\"pl-s\">mysql2<\/span><\/span>\n  <span class=\"pl-s\"><span class=\"pl-ent\">encoding:<\/span> <span class=\"pl-s\">utf8<\/span><\/span>\n  <span class=\"pl-c1\"><span class=\"pl-ent\">pool:<\/span> 5<\/span>\n  <span class=\"pl-s\"><span class=\"pl-ent\">username:<\/span> <span class=\"pl-s\">skyhopper_dev<\/span><\/span>\n  <span class=\"pl-s\"><span class=\"pl-ent\">password:<\/span> <span class=\"pl-s\"><span class=\"pl-pds\">'your_dev_password<\/span><span class=\"pl-pds\">'<\/span><\/span> <\/span><span class=\"pl-c\">#development password that you set earlier\n\u00a0 socket: \/var\/run\/mysqld\/mysqld.sock\n<\/span><\/pre>\n<\/div>\n<h4><a id=\"user-content-production-1\" class=\"anchor\" href=\"https:\/\/github.com\/skyarch-networks\/skyhopper\/blob\/master\/doc\/installation\/en\/skyhopper.md#production-1\"><\/a>production<\/h4>\n<div class=\"highlight highlight-source-yaml\">\n<pre><span class=\"pl-s\"><span class=\"pl-ent\">production:<\/span><\/span>\n  <span class=\"pl-s\"><span class=\"pl-ent\"><<:<\/span> <span class=\"pl-s\">*default<\/span><\/span>\n  <span class=\"pl-s\"><span class=\"pl-ent\">database:<\/span> <span class=\"pl-s\">SkyHopperProduction<\/span><\/span>\n  <span class=\"pl-s\"><span class=\"pl-ent\">username:<\/span> <span class=\"pl-s\">skyhopper_prod<\/span><\/span>\n  <span class=\"pl-s\"><span class=\"pl-ent\">password:<\/span> <span class=\"pl-s\"><span class=\"pl-pds\">'your_prod_password<\/span><span class=\"pl-pds\">'<\/span><\/span> <\/span><span class=\"pl-c\">#production password that you set earlier<\/span><\/pre>\n<h2>Database Setup<\/h2>\n<h3>Creating database using rake<\/h3>\n<div class=\"highlight highlight-source-shell\">\n<pre>$ bundle <span class=\"pl-c1\">exec<\/span> rake db:create<\/pre>\n<\/div>\n<h3>Creating tables using rake<\/h3>\n<div class=\"highlight highlight-source-shell\">\n<pre><span class=\"pl-c\"># development<\/span>\n$ bundle <span class=\"pl-c1\">exec<\/span> rake db:migrate\n<span class=\"pl-c\"># production<\/span>\n$ bundle <span class=\"pl-c1\">exec<\/span> rake db:migrate RAILS_ENV=production<\/pre>\n<\/div>\n<h3>creating initial data using rake<\/h3>\n<div class=\"highlight highlight-source-shell\">\n<pre><span class=\"pl-c\"># development<\/span>\n$ bundle <span class=\"pl-c1\">exec<\/span> rake db:seed\n<span class=\"pl-c\"># production<\/span>\n$ bundle <span class=\"pl-c1\">exec<\/span> rake db:seed RAILS_ENV=production<\/pre>\n<\/div>\n<h2>Start<\/h2>\n<p>Running Skyhopper<\/p>\n<div class=\"highlight highlight-source-shell\">\n<pre><span class=\"pl-c\"># production<\/span>\n$ .\/scripts\/skyhopper_daemon.sh start\n<span class=\"pl-c\"># usage start|stop|status<\/span>\n<span class=\"pl-c\"># staring mode for daemon<\/span><\/pre>\n<\/div>\n<div class=\"highlight highlight-source-shell\">\n<pre><span class=\"pl-c\"># for development<\/span>\n$ .\/scripts\/dev_server.sh\n<span class=\"pl-c\"># to stop\/exit, press: Ctrl + C<\/span><\/pre>\n<\/div>\n<h2>Initializing settings for SkyHopper<\/h2>\n<p>Perform the initial set up from the browser by accessing SkyHopper<\/p>\n<h2>Establishing the Chef Server keys<\/h2>\n<p>Copy the installation files under the project directory of SkyHopper <code>tmp\/chef<\/code> to <code>~\/.chef<\/code><\/p>\n<div class=\"highlight highlight-source-shell\">\n<pre>$ cp -r <span class=\"pl-k\">~<\/span>\/skyhopper\/tmp\/chef <span class=\"pl-k\">~<\/span>\/.chef<\/pre>\n<\/div>\n<\/div>\n<p>\u00a0<\/p>\n<p><strong>Congratulations!<\/strong> You have successfully install skyhopper in your system. If you encountered any problems during installation please write comments below. Thank you!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hey Guys, I guess you want to checkout and install SkyHopper on your local PC or on an EC2 server with Ubuntu &#8230;<\/p>\n","protected":false},"author":1,"featured_media":7055,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"ja","_original_post":"6997","footnotes":""},"categories":[95],"tags":[],"class_list":{"0":"post-7169","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-skyhopper","8":"ja"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts\/7169","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/comments?post=7169"}],"version-history":[{"count":1,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts\/7169\/revisions"}],"predecessor-version":[{"id":7170,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/posts\/7169\/revisions\/7170"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/media\/7055"}],"wp:attachment":[{"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/media?parent=7169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/categories?post=7169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyarch.net\/blog\/wp-json\/wp\/v2\/tags?post=7169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}