{"data":{"allGhostPost":{"edges":[{"node":{"title":"From 0 to 3 Million+ Deployments: Scaling App Platform on Kubernetes","slug":"from-0-to-3-million-deployments-scaling-app-platform-on-kubernetes-2","published_at":"2021-11-16T19:55:00.000+02:00","custom_excerpt":"https://www.digitalocean.com/community/tech_talks/from-0-to-3-million-deployments-scaling-app-platform-on-kubernetes","tags":[{"name":"external-link"},{"name":"talk"}]}},{"node":{"title":"You can DO Minecraft on DO - Spin Up a Minecraft Server in Under 5 Minutes","slug":"how-to","published_at":"2020-12-15T23:50:43.000+02:00","custom_excerpt":"https://www.youtube.com/watch?v=yfYY1uJkG8o","tags":[{"name":"video"},{"name":"external-link"}]}},{"node":{"title":"Build, Deploy, and Scale Your First Web App Using DigitalOcean App Platform","slug":"build-deploy-and-scale-your-first-web-app-using-digitalocean-app-platform","published_at":"2020-11-11T10:20:00.000+02:00","custom_excerpt":"https://www.digitalocean.com/community/tech_talks/build-deploy-scale-your-first-web-app","tags":[{"name":"external-link"},{"name":"talk"}]}},{"node":{"title":"Introducing DigitalOcean App Platform: reimagining PaaS to make it simpler for you to build, deploy, and scale apps.","slug":"introducing-digitalocean-app-platform-reimagining-paas-to-make-it-simpler-for-you-to-build-deploy-and-scale-apps","published_at":"2020-10-06T15:30:00.000+03:00","custom_excerpt":"https://www.digitalocean.com/blog/introducing-digitalocean-app-platform-reimagining-paas-to-make-it-simpler-for-you-to-build-deploy-and-scale-apps","tags":[{"name":"external-link"}]}},{"node":{"title":"How To Deploy a Resilient Node.js Application on Kubernetes from Scratch","slug":"how-to-deploy-a-resilient-node-js-application-on-kubernetes-from-scratch","published_at":"2020-05-21T19:00:00.000+03:00","custom_excerpt":"https://do.co/nodejs-k8s-talk","tags":[{"name":"external-link"},{"name":"talk"}]}},{"node":{"title":"From `npm init` to `kubectl create`: Getting Started with Node.js on Kubernetes","slug":"npm-init-to-kubectl-create-nodejs-on-kubernetes","published_at":"2020-03-03T12:40:00.000+02:00","custom_excerpt":"http://do.co/kamal-nodejs-k8s","tags":[{"name":"external-link"},{"name":"talk"}]}},{"node":{"title":"How to Use a Remote Docker Server to Speed Up Your Workflow","slug":"how-to-use-a-remote-docker-server-to-speed-up-your-workflow","published_at":"2020-02-12T20:11:00.000+02:00","custom_excerpt":"https://www.youtube.com/watch?v=Smi6t-d1q_w&list=PLRpiz8nxzvzU_VygfY02fe-nRgdkvVbKF&index=7&t=0s","tags":[{"name":"external-link"},{"name":"video"}]}},{"node":{"title":"Building a Contacts List with PostgREST and Vue.js","slug":"building-a-contacts-list-with-postgrest-and-vue-js","published_at":"2019-12-06T15:38:00.000+02:00","custom_excerpt":"https://www.youtube.com/playlist?list=PLRpiz8nxzvzVFOonERpUxpUE7iMZCCmSd","tags":[{"name":"external-link"},{"name":"video"}]}},{"node":{"title":"How To Deploy a Fully Automated Git-synced Static Website Using Caddy","slug":"how-to-deploy-a-fully-automated-git-synced-static-website-using-caddy","published_at":"2019-10-11T20:13:00.000+03:00","custom_excerpt":"https://www.youtube.com/watch?v=qL96qXgD36w&list=PLRpiz8nxzvzU_VygfY02fe-nRgdkvVbKF&index=4&t=0s","tags":[{"name":"external-link"},{"name":"video"}]}},{"node":{"title":"How to Use a Remote Docker Server to Speed Up Your Workflow","slug":"how-to-use-a-remote-docker-server-to-speed-up-your-workflow-written-version","published_at":"2019-06-25T18:20:00.000+03:00","custom_excerpt":"https://www.digitalocean.com/community/tutorials/how-to-use-a-remote-docker-server-to-speed-up-your-workflow","tags":[{"name":"external-link"}]}},{"node":{"title":"Routing URLs to OpenFaaS functions","slug":"routing-urls-to-openfaas-functions","published_at":"2018-12-10T09:01:11.000+02:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Preventing Loading Progress Bar Flashes with Vue.js","slug":"preventing-loading-progress-bar-flashes-with-vue","published_at":"2018-09-26T17:17:52.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"How to Set a Global Shortcut to Open a New iTerm2 Window","slug":"how-to-set-global-shortcut-open-new-iterm2-window","published_at":"2018-09-17T23:06:59.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Securing Internal Services Behind an OAuth2 Provider with Caddy","slug":"securing-internal-services-behind-oauth2-with-caddy","published_at":"2018-09-15T21:31:23.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Dropin ChatOps: turning existing workflows and scripts into Slack Commands","slug":"dropin-chatops-turning-existing-workflows-and-scripts-into-slack-commands","published_at":"2018-09-04T12:17:08.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Docker Registry Becomes Unavailable and Returns \"503 Service Unavailable\" on All Requests With The S3 Storage Driver","slug":"docker-registry-becomes-unavailable-and-returns-503","published_at":"2018-08-17T00:07:34.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Transparent Vue Wrapper Components","slug":"transparent-vue-wrapper-components","published_at":"2018-08-08T23:08:59.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Deploying a Fully-automated Git-based Static Website in Under 5 Minutes","slug":"https-blog-digitalocean-com-deploying-a-fully-automated-git-based-static-website-in-under-5-minutes","published_at":"2018-08-08T22:39:42.000+03:00","custom_excerpt":"https://blog.digitalocean.com/deploying-a-fully-automated-git-based-static-website-in-under-5-minutes/","tags":[{"name":"external-link"}]}},{"node":{"title":"Serve a JSON resume to cURL with Caddy","slug":"serve-a-json-resume-to-curl-with-caddy","published_at":"2018-07-19T20:20:08.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Fresh Coffee • AeroPress","slug":"fresh-coffee-aeropress","published_at":"2018-04-22T22:36:00.000+03:00","custom_excerpt":"A short film on brewing fresh coffee with the AeroPress","tags":[]}},{"node":{"title":"Network-specific DNS settings on macOS","slug":"network-specific-dns-settings-on-macos","published_at":"2018-04-10T20:49:41.000+03:00","custom_excerpt":"Cloudflare recently announced 1.1.1.1, their new DNS resolver. Here's how I configured macOS to use it on public networks only.","tags":[]}},{"node":{"title":"To-do Lists: Simplicity is Key","slug":"to-do-lists-simplicity-is-key","published_at":"2018-04-03T22:47:55.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Delegating a Subdomain to Hurricane Electric DNS for Dynamic DNS","slug":"delegating-a-subdomain-to-he-dns-for-ddns","published_at":"2018-01-05T21:30:37.000+02:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Using a Linux Server for Windows 10 Backups","slug":"using-a-linux-server-for-windows-10-backups","published_at":"2017-12-20T19:53:39.000+02:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Exporting Email Threads from Gmail into a CSV File","slug":"exporting-email-threads-from-gmail-into-csv-file","published_at":"2017-12-13T21:39:57.000+02:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Publishing Screenshots, Markdown Documents, and Other Files on DigitalOcean Spaces","slug":"publishing-screenshots-screencasts-and-other-files-on-digitalocean-spaces","published_at":"2017-10-02T15:51:20.000+03:00","custom_excerpt":"A couple of weeks ago at DigitalOcean, we introduced Spaces—beautifully simple and reliable object storage. In this post, I'll talk about how I'm using Dropshare share screenshots, markdown documents, and all sorts of files on a custom domain name backed by Spaces.","tags":[]}},{"node":{"title":"Check How Many SaltStack Minions are Connected","slug":"check-how-many-saltstack-minions-are-connected","published_at":"2013-10-22T19:44:00.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Nginx and SSL private key security","slug":"nginx-and-ssl-root-key-security","published_at":"2013-09-02T10:39:00.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"IP Tables and Dynamic DNS","slug":"ip-tables-and-dynamic-dns","published_at":"2013-08-07T11:24:00.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Mirroring Private Git Repositories Locally: The Easy Way","slug":"mirroring-private-git-repositories-locally-the-easy-way","published_at":"2013-07-24T18:50:00.000+03:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Highlighting .phps Files in Nginx","slug":"highlighting-phps-files-in-nginx","published_at":"2012-12-26T21:24:00.000+02:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Duplicity Amazon S3 backups","slug":"duplicity-amazon-s3-backups","published_at":"2012-12-23T14:39:00.000+02:00","custom_excerpt":null,"tags":[]}},{"node":{"title":"Parsing Markdown Files in Nginx","slug":"parsing-markdown-files-nginx","published_at":"2012-11-02T14:18:00.000+02:00","custom_excerpt":null,"tags":[]}}]}}}