{"id":2638,"date":"2020-05-20T08:12:18","date_gmt":"2020-05-20T06:12:18","guid":{"rendered":"https:\/\/geko2.factoryfy.com\/nginx-and-letsencrypt-with-certbot-in-docker-alpine\/"},"modified":"2021-11-03T18:03:52","modified_gmt":"2021-11-03T17:03:52","slug":"nginx-letsencrypt-certbot-docker-alpine","status":"publish","type":"post","link":"https:\/\/geko.cloud\/en\/nginx-letsencrypt-certbot-docker-alpine\/","title":{"rendered":"Nginx and Letsencrypt with certbot in docker alpine"},"content":{"rendered":"<h3>UPDATE 31\/08\/2020<\/h3>\n<p>As Nicolas ponted out in the comments, the alpine software repositories already include the certbot package and therefore can be updated directly with apk:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">apk add certbot certbot-nginx<\/pre>\n<\/div>\n<hr \/>\n<h3>Original post<\/h3>\n<p>In this lab we will learn how to install certbot using the official nginx:alpine docker image and use it to create a SSL certificate for our domain. Note that in order to make it work <strong>you must own the domain<\/strong> for which you&#8217;ll be fetching a certificate and it <strong>must resolve to the public IP<\/strong> address where the docker container is exposed.<\/p>\n<h3>Requirements<\/h3>\n<p>This is the most tricky part when running certbot in an alpine based image, to be able to install certbot module we need to sort out some dependencies first. To save you the trouble of writing your own Dockerfile I am providing you with a working one:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">FROM nginx:1.20-alpine\r\nRUN apk add python3 python3-dev py3-pip build-base libressl-dev musl-dev libffi-dev rust cargo\r\nRUN pip3 install pip --upgrade\r\nRUN pip3 install certbot-nginx\r\nRUN mkdir \/etc\/letsencrypt<\/pre>\n<\/div>\n<p>You will probably appreciate that we also created a folder for letsencrypt. We&#8217;ll use this to mount a volume to make letsencrypt data persistent and avoid losing the certificate when we kill the container.<\/p>\n<h3>Setting up Nginx configuration<\/h3>\n<p>The configuration that we are going to use is very simple. In fact, it is the default.conf file that comes with Nginx but we will get rid of some unnecessary stuff first. So go ahead and create a file called &#8220;default.conf&#8221; and set the following contents:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">server {\r\n    listen       80;\r\n    server_name  yourdomain.com;\r\n\r\n    location \/ {\r\n        root   \/usr\/share\/nginx\/html;\r\n        index  index.html index.htm;\r\n    }\r\n\r\n    error_page   500 502 503 504  \/50x.html;\r\n    location = \/50x.html {\r\n        root   \/usr\/share\/nginx\/html;\r\n    }\r\n}\r\n<\/pre>\n<\/div>\n<p>Remember to replace the server_name value with your own domain. Now, open the Dockerfile and add a new line at the end:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">COPY default.conf \/etc\/nginx\/conf.d\/default.conf<\/pre>\n<\/div>\n<h3>Building the Docker image<\/h3>\n<p>This step is easy and I assume you already know how to build a Dockerfile, but here&#8217;s the command anyway:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">docker build -t nginx-certbot .<\/pre>\n<\/div>\n<h3>Creating the new certificate with certbot<\/h3>\n<p>First, we will run the container overriding the entrypoint to execute the shell. We&#8217;ll also mount the letsencrypt folder to make certificate data persistent.<\/p>\n<p>Warning: I would also advice to mount the nginx folder to a persistent volume, but that is outside the scope of this lab.<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">docker run -v $(pwd)\/letsencrypt:\/etc\/letsencrypt --name nginx -ti -p 8080:80 nginx-certbot sh<\/pre>\n<\/div>\n<p>Next, run the certbot command replacing yourdomain.com with your real domain (same as you used for servername). Also note that you can add the www domain, just add a &#8220;-d&#8221; flag for every additional entry you need in the certificate:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">certbot --nginx -d yourdomain.com -d www.yourdomain.com<\/pre>\n<\/div>\n<p>Now certbot will ask you for an e-mail address that will be used for recovery and after that it will try to <strong>verify that you own<\/strong> the given domain. Note that if your server is not reachable in this domain, you will receive an error. If domain verification is successful, certbot will ask you if you wish to <strong>enable the HTTP to HTTPS<\/strong> redirection in nginx configuration. I recommend doing so.<\/p>\n<p>Finally, Nginx will be reloaded and you should receive a message with the location of your certificates. You can now do a backup of these certificates if you wish.<\/p>\n<h3>Automate certificate renewal<\/h3>\n<p>You don&#8217;t want to be manually checking and renewing these certificates when they get close to the expiration date, so we will be adding a cronjob to do this for you:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">0 12 * * * \/usr\/bin\/certbot renew --quiet<\/pre>\n<\/div>\n<h3>Conclusion<\/h3>\n<p>As you can see it was not so difficult to create the SSL certificates for your domain using certbot.<\/p>\n<p>I picked the alpine docker image for this lab because it&#8217;s probably one of the most troublesome base images to be using along certbot, I had myself some problems making it work properly in the past due to dependency issues. If you pick up an ubuntu based image it will probably be a lot easier to set up certbot, but the point is that alpine images are a usual choice because of it&#8217;s minimalist nature.<\/p>\n<p>I hope you enjoyed this lab. <a href=\"https:\/\/geko.cloud\/en\/contact\/\">Do not hesitate to contact us<\/a> if you would like us to help you on your projects.<\/p>\n<p>See you on the next post! Feel the Geko way!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UPDATE 31\/08\/2020 As Nicolas ponted out in the comments, the alpine software repositories already include the certbot package and therefore can be updated directly with apk: apk add certbot certbot-nginx Original post In this lab we will learn how to install certbot using the official nginx:alpine docker image and use it to create a SSL [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":2283,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[67],"tags":[74,86],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Nginx and Letsencrypt with certbot in docker alpine - Geko Cloud<\/title>\n<meta name=\"description\" content=\"How to install certbot using the official nginx:alpine docker image and use it to create a SSL certificate for our domain.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nginx and Letsencrypt with certbot in docker alpine - Geko Cloud\" \/>\n<meta property=\"og:description\" content=\"How to install certbot using the official nginx:alpine docker image and use it to create a SSL certificate for our domain.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\" \/>\n<meta property=\"og:site_name\" content=\"Geko Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-20T06:12:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-03T17:03:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Xavi Miranda\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@geko_cloud\" \/>\n<meta name=\"twitter:site\" content=\"@geko_cloud\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\"},\"author\":{\"name\":\"Xavi Miranda\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/d496fb33d6ad37fe134ef9fb225dc732\"},\"headline\":\"Nginx and Letsencrypt with certbot in docker alpine\",\"datePublished\":\"2020-05-20T06:12:18+00:00\",\"dateModified\":\"2021-11-03T17:03:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\"},\"wordCount\":635,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/geko.cloud\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png\",\"keywords\":[\"Docker\",\"Ngnix\"],\"articleSection\":[\"Labs\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\",\"url\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\",\"name\":\"Nginx and Letsencrypt with certbot in docker alpine - Geko Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/geko.cloud\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png\",\"datePublished\":\"2020-05-20T06:12:18+00:00\",\"dateModified\":\"2021-11-03T17:03:52+00:00\",\"description\":\"How to install certbot using the official nginx:alpine docker image and use it to create a SSL certificate for our domain.\",\"breadcrumb\":{\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage\",\"url\":\"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png\",\"contentUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png\",\"width\":825,\"height\":280,\"caption\":\"ngnix letsencrypt logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/geko.cloud\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nginx and Letsencrypt with certbot in docker alpine\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/geko.cloud\/es\/#website\",\"url\":\"https:\/\/geko.cloud\/es\/\",\"name\":\"Geko Cloud\",\"description\":\"Servicios de consultor\u00eda cloud y devops\",\"publisher\":{\"@id\":\"https:\/\/geko.cloud\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/geko.cloud\/es\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/geko.cloud\/es\/#organization\",\"name\":\"Geko Cloud\",\"url\":\"https:\/\/geko.cloud\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png\",\"contentUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png\",\"width\":1650,\"height\":809,\"caption\":\"Geko Cloud\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/geko_cloud\",\"https:\/\/www.instagram.com\/gekocloud\/\",\"https:\/\/www.linkedin.com\/company\/gekocloud\",\"https:\/\/www.youtube.com\/channel\/UC5EFLCqUM7fEaXSa_0nWowQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/d496fb33d6ad37fe134ef9fb225dc732\",\"name\":\"Xavi Miranda\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/aa0e61120a4b0a629b0679d9e341758d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/aa0e61120a4b0a629b0679d9e341758d?s=96&d=mm&r=g\",\"caption\":\"Xavi Miranda\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Nginx and Letsencrypt with certbot in docker alpine - Geko Cloud","description":"How to install certbot using the official nginx:alpine docker image and use it to create a SSL certificate for our domain.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/","og_locale":"en_US","og_type":"article","og_title":"Nginx and Letsencrypt with certbot in docker alpine - Geko Cloud","og_description":"How to install certbot using the official nginx:alpine docker image and use it to create a SSL certificate for our domain.","og_url":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/","og_site_name":"Geko Cloud","article_published_time":"2020-05-20T06:12:18+00:00","article_modified_time":"2021-11-03T17:03:52+00:00","og_image":[{"width":825,"height":280,"url":"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png","type":"image\/png"}],"author":"Xavi Miranda","twitter_card":"summary_large_image","twitter_creator":"@geko_cloud","twitter_site":"@geko_cloud","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#article","isPartOf":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/"},"author":{"name":"Xavi Miranda","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/d496fb33d6ad37fe134ef9fb225dc732"},"headline":"Nginx and Letsencrypt with certbot in docker alpine","datePublished":"2020-05-20T06:12:18+00:00","dateModified":"2021-11-03T17:03:52+00:00","mainEntityOfPage":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/"},"wordCount":635,"commentCount":0,"publisher":{"@id":"https:\/\/geko.cloud\/es\/#organization"},"image":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage"},"thumbnailUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png","keywords":["Docker","Ngnix"],"articleSection":["Labs"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/","url":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/","name":"Nginx and Letsencrypt with certbot in docker alpine - Geko Cloud","isPartOf":{"@id":"https:\/\/geko.cloud\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage"},"image":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage"},"thumbnailUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png","datePublished":"2020-05-20T06:12:18+00:00","dateModified":"2021-11-03T17:03:52+00:00","description":"How to install certbot using the official nginx:alpine docker image and use it to create a SSL certificate for our domain.","breadcrumb":{"@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#primaryimage","url":"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png","contentUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/nginx_letsencrypt.png","width":825,"height":280,"caption":"ngnix letsencrypt logo"},{"@type":"BreadcrumbList","@id":"https:\/\/geko.cloud\/es\/nginx-letsencrypt-certbot-docker-alpine\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/geko.cloud\/en\/"},{"@type":"ListItem","position":2,"name":"Nginx and Letsencrypt with certbot in docker alpine"}]},{"@type":"WebSite","@id":"https:\/\/geko.cloud\/es\/#website","url":"https:\/\/geko.cloud\/es\/","name":"Geko Cloud","description":"Servicios de consultor\u00eda cloud y devops","publisher":{"@id":"https:\/\/geko.cloud\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/geko.cloud\/es\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/geko.cloud\/es\/#organization","name":"Geko Cloud","url":"https:\/\/geko.cloud\/es\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/","url":"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png","contentUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png","width":1650,"height":809,"caption":"Geko Cloud"},"image":{"@id":"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/geko_cloud","https:\/\/www.instagram.com\/gekocloud\/","https:\/\/www.linkedin.com\/company\/gekocloud","https:\/\/www.youtube.com\/channel\/UC5EFLCqUM7fEaXSa_0nWowQ"]},{"@type":"Person","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/d496fb33d6ad37fe134ef9fb225dc732","name":"Xavi Miranda","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/aa0e61120a4b0a629b0679d9e341758d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/aa0e61120a4b0a629b0679d9e341758d?s=96&d=mm&r=g","caption":"Xavi Miranda"}}]}},"_links":{"self":[{"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/posts\/2638"}],"collection":[{"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/comments?post=2638"}],"version-history":[{"count":4,"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/posts\/2638\/revisions"}],"predecessor-version":[{"id":5225,"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/posts\/2638\/revisions\/5225"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/media\/2283"}],"wp:attachment":[{"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/media?parent=2638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/categories?post=2638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geko.cloud\/en\/wp-json\/wp\/v2\/tags?post=2638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}