{"id":130080,"date":"2026-05-21T01:32:32","date_gmt":"2026-05-21T01:32:32","guid":{"rendered":"\/ph\/tutorials\/how-to-set-up-cloudflared-with-docker"},"modified":"2026-05-21T01:32:32","modified_gmt":"2026-05-21T01:32:32","slug":"how-to-set-up-cloudflared-with-docker","status":"publish","type":"post","link":"\/ph\/tutorials\/how-to-set-up-cloudflared-with-docker","title":{"rendered":"How to set up Cloudflared with Docker to expose apps securely"},"content":{"rendered":"<p>To expose Docker apps securely with Cloudflare Tunnel, create a Cloudflare Tunnel, run Cloudflared in Docker with the tunnel token, and route a public hostname to your app&rsquo;s internal Docker port. This lets users access the app through Cloudflare without opening inbound ports on your VPS.<\/p><p>This setup is useful for remote access to self-hosted apps, admin dashboards, APIs, and development tools, as public traffic passes through Cloudflare rather than reaching your server directly. In this guide, you&rsquo;ll learn how to install Cloudflared with Docker, run it with Docker Compose, deploy it faster using Hostinger&rsquo;s Docker template, and secure the exposed app with access rules and private Docker networking.<\/p><h2 class=\"wp-block-heading\" id=\"h-what-do-you-need-before-installing-cloudflared-with-docker\">What do you need before installing Cloudflared with Docker?<\/h2><p>Before installing Cloudflared with Docker, <a href=\"\/ph\/tutorials\/how-to-install-docker-on-ubuntu\">prepare a running Docker app<\/a>, a Cloudflare account, and a domain connected to Cloudflare. You also need access to the Cloudflare Zero Trust dashboard, where you create the tunnel and obtain the tunnel token.<\/p><p>Make sure you have:<\/p><ul class=\"wp-block-list\">\n<li>A VPS or <a href=\"\/ph\/vps\/docker\">server with Docker<\/a> installed.<\/li>\n\n\n\n<li>A Docker app running on a local port, such as 8080.<\/li>\n\n\n\n<li>A Cloudflare account.<\/li>\n\n\n\n<li>A domain using Cloudflare nameservers.<\/li>\n\n\n\n<li>Access to Cloudflare Zero Trust.<\/li>\n\n\n\n<li>A tunnel token from Cloudflare Tunnel.<\/li>\n<\/ul><p>If your Docker app already runs on the server, test it before creating the tunnel:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl http:\/\/localhost:8080<\/pre><p>Replace 8080 with the port your app uses. If the app responds locally, Cloudflared can route traffic to it after the tunnel is created.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-install-cloudflared-with-docker\">How to install Cloudflared with Docker<\/h2><p>Cloudflared runs as a Docker container and connects your server to Cloudflare Tunnel. This lets Cloudflare route traffic to your Docker app without exposing the app&rsquo;s port directly to the internet.<\/p><p>Before starting, make sure your Docker app is already running on the server. For example, if your app listens on port 8080, test it locally:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl http:\/\/localhost:8080<\/pre><p>If the app responds, create a Cloudflare Tunnel from the Cloudflare Zero Trust dashboard. Open <strong>Networks &rarr; Tunnels &rarr; Create tunnel<\/strong>, choose <strong>Cloudflared<\/strong>, and copy the tunnel token generated by Cloudflare.<\/p><p>Then, run the official Cloudflared Docker image with the token:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -d\n--name cloudflared\n--restart unless-stopped\ncloudflare\/cloudflared:latest\ntunnel --no-autoupdate run --token <\/pre><p>Replace <your_tunnel_token>with the token from your Cloudflare Tunnel. The &ndash;restart unless-stopped option keeps Cloudflared running after server reboots or container restarts.<\/your_tunnel_token><\/p><p>After the container starts, verify that Cloudflared is running:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker ps<\/pre><p>You can also check the tunnel logs:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker logs cloudflared<\/pre><p>Next, add a public hostname in the Cloudflare Tunnel settings. For example, route:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">app.example.com &rarr; http:\/\/localhost:8080<\/pre><p>This tells Cloudflare to send requests from app.example.com to the Docker app running on your server. Once the hostname is active, open it in your browser and confirm that the app loads through Cloudflare Tunnel.<\/p><p>For better security, avoid publishing the app port with -p unless you need local access. Cloudflared only needs to reach the app from the server, while public traffic goes through Cloudflare.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-deploy-cloudflared-faster-with-hostingers-docker-template\">How to deploy Cloudflared faster with Hostinger&rsquo;s Docker template<\/h2><p>Hostinger&rsquo;s <a href=\"\/ph\/vps\/docker\/cloudflared\">Cloudflared Docker template<\/a> lets you deploy Cloudflared on a VPS without manually preparing the container from scratch. Instead of installing Docker, pulling the image, and writing the run command yourself, you can launch a preconfigured Cloudflared environment from the Hostinger VPS dashboard.<\/p><p>To deploy it, open your Hostinger account and go to <strong>VPS &rarr; Manage &rarr; OS &amp; Panel &rarr; Operating system<\/strong>. Then, choose the <strong>Cloudflared<\/strong> template from the Docker templates catalog and install it on your VPS.<\/p><p>After the template is installed, connect to your VPS using SSH:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ssh root@your_vps_ip<\/pre><p>Then, check whether the Cloudflared container is running:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker ps<\/pre><p>If the container is active, open your Cloudflare Zero Trust dashboard and create a new tunnel. Go to <strong>Networks &rarr; Tunnels &rarr; Create tunnel<\/strong>, choose <strong>Cloudflared<\/strong>, and copy the tunnel token.<\/p><p>Use the token to connect your Hostinger VPS to Cloudflare Tunnel. Depending on your template setup, you can either update the existing container configuration or recreate the Cloudflared container with your tunnel token:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -d\n--name cloudflared\n--restart unless-stopped\ncloudflare\/cloudflared:latest\ntunnel --no-autoupdate run --token <\/pre><p>Replace <your_tunnel_token>with the token from Cloudflare. Then, check the container logs to confirm that the tunnel connected successfully:<\/your_tunnel_token><\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker logs cloudflared<\/pre><p>Once Cloudflared is connected, add a public hostname in Cloudflare Tunnel settings. For example, route your domain or subdomain to the Docker app running on your VPS:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">app.example.com &rarr; http:\/\/localhost:8080<\/pre><p>This setup is useful when you want secure remote access to Docker apps on an always-on VPS. Cloudflared handles the public connection through Cloudflare Tunnel, while your application stays behind the VPS firewall without requiring open inbound ports.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-run-cloudflared-with-docker-compose\">How to run Cloudflared with Docker Compose<\/h2><p><a href=\"\/ph\/tutorials\/what-is-docker-compose\">Docker Compose<\/a> is the best option when Cloudflared and your app must run on the same Docker network. This lets Cloudflared reach the app by its service name instead of exposing the app&rsquo;s port publicly.<\/p><p>First, create a project folder:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir cloudflared-app\ncd cloudflared-app<\/pre><p>Then, create a .env file for your Cloudflare Tunnel token:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">nano .env<\/pre><p>Add your tunnel token to the file:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">TUNNEL_TOKEN=your_cloudflare_tunnel_token<\/pre><p>Next, create a docker-compose.yml file:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">nano docker-compose.yml<\/pre><p>Add the following configuration:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">services:\napp:\nimage: your-app-image\ncontainer_name: my-app\nexpose:\n- \"8080\"\nnetworks:\n- cloudflare-tunnel\ncloudflared:\nimage: cloudflare\/cloudflared:latest\ncontainer_name: cloudflared\nrestart: unless-stopped\ncommand: tunnel --no-autoupdate run --token ${TUNNEL_TOKEN}\ndepends_on:\n- app\nnetworks:\n- cloudflare-tunnel\nnetworks:\ncloudflare-tunnel:<\/pre><p>Replace your-app-image with the Docker image for your application. Keep exposed instead of ports if the app only needs to be reachable by Cloudflared. This keeps the app available inside the Docker network without publishing port 8080 on the VPS.<\/p><p>Start both containers:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose up -d<\/pre><p>Check whether the containers are running:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose ps<\/pre><p>Then, confirm that Cloudflared is connected to Cloudflare Tunnel:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose logs cloudflared<\/pre><p>After the tunnel is active, add a public hostname in Cloudflare Tunnel settings. Since both containers use the same Docker network, route the hostname to the app service name:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">app.example.com &rarr; http:\/\/app:8080<\/pre><p>This tells Cloudflare to forward requests from app.example.com to the app service running in Docker Compose. The application does not need a public port because Cloudflared forwards traffic through the shared Docker network.<\/p><h2 class=\"wp-block-heading\" id=\"h-why-use-cloudflare-tunnel-for-secure-remote-access-to-docker-apps\">Why use Cloudflare Tunnel for secure remote access to Docker apps?<\/h2><p>Cloudflare Tunnel lets you expose Docker apps via an outbound connection rather than opening inbound ports on your server. This gives users a public URL for the app while keeping the Docker container behind the VPS firewall.<\/p><p>This setup is useful for self-hosted tools that need remote access, such as admin dashboards, automation apps, monitoring panels, internal APIs, and development environments. For example, you can expose a Dockerized app like n8n, Grafana, Portainer, code-server, or a private web app without publishing its container port to the internet.<\/p><p>Cloudflare Tunnel improves remote access security in four main ways:<\/p><ol class=\"wp-block-list\">\n<li>It avoids public port forwarding. Cloudflared connects your server to Cloudflare from the inside, so you do not need to expose ports like 8080, 3000, or 9000 publicly.<\/li>\n\n\n\n<li>It hides the origin server IP. Visitors connect to Cloudflare first, while your VPS address stays separate from the public application URL.<\/li>\n\n\n\n<li>It supports hostname-based routing. You can route subdomains like app.example.com, admin.example.com, or api.example.com to different Docker services running on the same server.<\/li>\n\n\n\n<li>It works with Cloudflare Access. You can require login, email verification, or identity provider authentication before users reach sensitive Docker apps.<\/li>\n<\/ol><p>For Docker workloads, this means Cloudflared acts as a secure bridge between Cloudflare and your containers. The application stays inside the Docker network, and Cloudflare handles the public-facing connection. This is safer than exposing a container port directly because only the tunnel, not the app itself, receives external traffic.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-secure-docker-apps-exposed-with-cloudflare-tunnel\">How to secure Docker apps exposed with Cloudflare Tunnel<\/h2><p>Cloudflare Tunnel improves Docker app security by eliminating the need for public inbound ports, but it still requires access rules, token protection, and container-level hardening. Treat Cloudflared as the public entry point to your private Docker service.<\/p><p>First, keep your Docker app off public ports whenever possible. If Cloudflared and the app run on the same Docker network, use expose instead of ports in your Compose file:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">services:\napp:\nimage: your-app-image\nexpose:\n- \"8080\"<\/pre><p>The expose option makes the app reachable inside Docker without publishing port 8080 on the VPS. Cloudflared can still route traffic to the app through the internal Docker network:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">app.example.com &rarr; http:\/\/app:8080<\/pre><p>Next, protect sensitive apps with Cloudflare Access. This is especially important for admin panels, dashboards, internal APIs, and tools like Portainer, Grafana, n8n, or code-server. In Cloudflare Zero Trust, create an Access application for your public hostname and define who can open it. For example, allow only specific email addresses, company domains, or users from your identity provider.<\/p><p>Store your tunnel token securely. Do not paste the token directly into public repositories, shared documents, or reusable scripts. Use a local .env file if you run Cloudflared with Docker Compose:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">TUNNEL_TOKEN=your_cloudflare_tunnel_token<\/pre><p>Then reference the token in your Compose file:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">command: tunnel --no-autoupdate run --token ${TUNNEL_TOKEN}<\/pre><p>Rotate the tunnel token if it is exposed, shared with the wrong user, or stored in a place you no longer control. After rotating the token in Cloudflare, update the value on your VPS and restart the Cloudflared container:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose restart cloudflared<\/pre><p>You should also limit each public hostname to the correct internal service. For example, route app.example.com only to the app container and admin.example.com only to the admin container. Avoid using broad fallback routes that send unknown requests to sensitive services.<\/p><p>Finally, monitor the tunnel and container logs regularly:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose logs cloudflared<\/pre><p>Look for repeated connection failures, unexpected hostname requests, or routing errors. These logs help confirm that Cloudflared is connected, the public hostname points to the correct Docker service, and the app remains reachable only through the tunnel.<\/p><h2 class=\"wp-block-heading\" id=\"h-what-to-do-after-exposing-your-docker-app-securely\">What to do after exposing your Docker app securely<\/h2><p>After your Docker app is available through Cloudflare Tunnel, strengthen the setup before using it for regular remote access. The tunnel eliminates the need for inbound public ports, but you still need to manage authentication, updates, monitoring, and backups.<\/p><p>Start by adding a Cloudflare Access policy to every sensitive hostname. Public apps, documentation sites, or demo pages may stay open, but admin panels and internal tools should require authentication. For example, protect admin.example.com with an email allowlist, company domain rule, or identity provider login.<\/p><p>Next, confirm that the app port is not exposed publicly on the VPS. If you use Docker Compose, prefer expose instead of ports for services that only Cloudflared needs to reach:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">services:\napp:\nimage: your-app-image\nexpose:\n- \"8080\"<\/pre><p>Then, check your active firewall rules and make sure ports like 8080, 3000, or 9000 are not open unless another service needs them:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ufw status<\/pre><p>Keep Cloudflared up to date so your tunnel receives the latest fixes. If you use the official Docker image, pull the newest version and recreate the container:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose pull cloudflared\ndocker compose up -d cloudflared<\/pre><p>Monitor the tunnel regularly from both Cloudflare and your VPS. In Cloudflare Zero Trust, check whether the tunnel status is healthy. On the VPS, review Cloudflared logs when the app becomes unreachable:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose logs cloudflared<\/pre><p>Finally, document your tunnel configuration. Record which public hostname points to which Docker service, which ports are used internally, where the tunnel token is stored, and which Access policies protect each app. This makes future updates safer, especially when you add more Docker apps behind the same Cloudflare Tunnel.<\/p><p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>To expose Docker apps securely with Cloudflare Tunnel, create a Cloudflare Tunnel, run Cloudflared in Docker with the tunnel token, and route a public hostname to your app&rsquo;s internal Docker port. This lets users access the app through Cloudflare without opening inbound ports on your VPS. This setup is useful for remote access to self-hosted [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/ph\/tutorials\/how-to-set-up-cloudflared-with-docker\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":342,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"How to set up Cloudflared with Docker","rank_math_description":"Learn how to run Cloudflared in Docker, create a Cloudflare Tunnel, route a public hostname, and expose Docker apps securely without opening ports.","rank_math_focus_keyword":"cloudflared docker","footnotes":""},"categories":[22639],"tags":[],"class_list":["post-130080","post","type-post","status-publish","format-standard","hentry","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-set-up-cloudflared-with-docker","default":1},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-set-up-cloudflared-with-docker","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-set-up-cloudflared-with-docker","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-set-up-cloudflared-with-docker","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-set-up-cloudflared-with-docker","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-set-up-cloudflared-with-docker","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-set-up-cloudflared-with-docker","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-set-up-cloudflared-with-docker","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/posts\/130080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/users\/342"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/comments?post=130080"}],"version-history":[{"count":0,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/posts\/130080\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/media?parent=130080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/categories?post=130080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/tags?post=130080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}