<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Adityacprtm Blog</title>
    <link>https://adityacprtm.dev/blog</link>
    <description>Notes by Aditya Chamim Pratama — DevOps, SRE, Cloud Engineer</description>
    <language>en-us</language>
    <atom:link href="https://adityacprtm.dev/feed.xml" rel="self" type="application/rss+xml"/>
  <item>
    <title>Stop Bundling Assets di Docker Image: Static Assets dengan S3 + Cloudflare CDN</title>
    <link>https://adityacprtm.dev/blog/stop-bundling-assets-di-docker-image-kelola-static-assets-dengan-s3-cloudflare-cdn</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/stop-bundling-assets-di-docker-image-kelola-static-assets-dengan-s3-cloudflare-cdn</guid>
    <description>Kelola static assets dengan AWS S3, Cloudflare CDN, dan GitHub Actions — lengkap dengan integrasi Vue, Nuxt, React, dan Next.js.</description>
    <pubDate>Thu, 30 Apr 2026 08:00:00 GMT</pubDate>
  </item>
  <item>
    <title>GitHub Actions Docker Cache: gha vs registry vs inline</title>
    <link>https://adityacprtm.dev/blog/github-actions-docker-cache-gha-vs-registry-vs-inline</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/github-actions-docker-cache-gha-vs-registry-vs-inline</guid>
    <description>Perbandingan Docker cache GitHub Actions: gha, registry, dan inline. Cek benchmark, trade-off, dan rekomendasi strategi optimasi build.</description>
    <pubDate>Fri, 17 Apr 2026 01:00:00 GMT</pubDate>
  </item>
  <item>
    <title>Dari Alibaba Cloud ke AWS: Catatan Migrasi dengan AWS MGN</title>
    <link>https://adityacprtm.dev/blog/dari-alibaba-cloud-ke-aws-catatan-migrasi-dengan-aws-mgn</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/dari-alibaba-cloud-ke-aws-catatan-migrasi-dengan-aws-mgn</guid>
    <description>Catatan migrasi server dari Alibaba Cloud ke AWS menggunakan AWS MGN — pengalaman nyata, lesson learned, dan tips.</description>
    <pubDate>Sat, 11 Apr 2026 07:20:00 GMT</pubDate>
  </item>
  <item>
    <title>Connecting AWS to GCP: Site-to-Site VPN Setup Guide</title>
    <link>https://adityacprtm.dev/blog/connecting-aws-to-gcp-a-comprehensive-guide-to-site-to-site-vpn</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/connecting-aws-to-gcp-a-comprehensive-guide-to-site-to-site-vpn</guid>
    <description>Learn how to set up a Site-to-Site VPN between AWS and GCP for secure cross-cloud communication.</description>
    <pubDate>Sun, 01 Oct 2023 03:48:46 GMT</pubDate>
  </item>
  <item>
    <title>Docker Swarm in GCP</title>
    <link>https://adityacprtm.dev/blog/docker-swarm-in-gcp</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/docker-swarm-in-gcp</guid>
    <description>How I set up and orchestrated containers using Docker Swarm on Google Cloud Platform — covering node configuration, services, and deployment.</description>
    <pubDate>Thu, 25 Aug 2022 13:14:57 GMT</pubDate>
  </item>
  <item>
    <title>Post Deployment: Monitoring and Error Tracking</title>
    <link>https://adityacprtm.dev/blog/post-deployment-monitoring-and-error-tracking</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/post-deployment-monitoring-and-error-tracking</guid>
    <description>For status monitoring of applications built both frontend and backend, I use the Status Pages from cron-job.</description>
    <pubDate>Thu, 25 Aug 2022 13:14:49 GMT</pubDate>
  </item>
  <item>
    <title>Database Setup: MongoDB</title>
    <link>https://adityacprtm.dev/blog/database-setup-mongo-db</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/database-setup-mongo-db</guid>
    <description>Learn how to set up MongoDB for Strapi. This guide covers creating a free MongoDB Atlas cluster and configuring Strapi to connect.</description>
    <pubDate>Mon, 22 Aug 2022 04:11:09 GMT</pubDate>
  </item>
  <item>
    <title>Vue Setup: Design, Plugins and Deploy</title>
    <link>https://adityacprtm.dev/blog/vue-setup-design-plugins-and-deploy</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/vue-setup-design-plugins-and-deploy</guid>
    <description>How I set up the Vue.js frontend — picking a design system, integrating key plugins, and deploying the portfolio site to production.</description>
    <pubDate>Fri, 19 Aug 2022 09:58:24 GMT</pubDate>
  </item>
  <item>
    <title>Strapi Setup: Customize Response API</title>
    <link>https://adityacprtm.dev/blog/strapi-setup-customize-response-api</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/strapi-setup-customize-response-api</guid>
    <description>Here I share how to customize the response from the API, by default the responses given. But there are times when I don't use these fields on the frontend.</description>
    <pubDate>Fri, 19 Aug 2022 09:58:15 GMT</pubDate>
  </item>
  <item>
    <title>Strapi Setup: Schema, Plugins dan Deploy</title>
    <link>https://adityacprtm.dev/blog/strapi-setup-schema-plugins-dan-deploy</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/strapi-setup-schema-plugins-dan-deploy</guid>
    <description>Configure Strapi with essential plugins (email, Cloudinary) and set up content schema for your portfolio project.</description>
    <pubDate>Wed, 17 Aug 2022 04:51:28 GMT</pubDate>
  </item>
  <item>
    <title>Determining the Tech Stack: Backend</title>
    <link>https://adityacprtm.dev/blog/determining-the-tech-stack-backend</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/determining-the-tech-stack-backend</guid>
    <description>I will use the Headless Content Management System (CMS). I decided to use Headless CMS, and what I chose was Strapi.</description>
    <pubDate>Tue, 16 Aug 2022 13:56:14 GMT</pubDate>
  </item>
  <item>
    <title>Determining the Tech Stack: Front End</title>
    <link>https://adityacprtm.dev/blog/determining-the-tech-stack-front-end</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/determining-the-tech-stack-front-end</guid>
    <description>This is the second part of my series on building a personal website portfolio. In this blog, I will discuss the frontend stack.</description>
    <pubDate>Fri, 12 Aug 2022 23:47:08 GMT</pubDate>
  </item>
  <item>
    <title>Little Background</title>
    <link>https://adityacprtm.dev/blog/little-background</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/little-background</guid>
    <description>The story behind building this portfolio — why I built it, what tech I chose, and what I learned along the way as a DevOps and SRE engineer.</description>
    <pubDate>Fri, 12 Aug 2022 16:08:09 GMT</pubDate>
  </item>
  <item>
    <title>How to Create a Laravel Tagging System</title>
    <link>https://adityacprtm.dev/blog/how-to-create-a-laravel-tagging-system</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/how-to-create-a-laravel-tagging-system</guid>
    <description>In this post, I will show you how to create a Laravel Tagging System using the package from rtconner/laravel-tagging.</description>
    <pubDate>Wed, 10 Aug 2022 14:57:47 GMT</pubDate>
  </item>
  <item>
    <title>How to Create a Newsletter Subscribers with Laravel</title>
    <link>https://adityacprtm.dev/blog/how-to-create-a-newsletter-subscribers-with-laravel</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/how-to-create-a-newsletter-subscribers-with-laravel</guid>
    <description>Build a free newsletter system with Laravel to email subscribers when you publish new blog posts.</description>
    <pubDate>Tue, 09 Aug 2022 05:41:29 GMT</pubDate>
  </item>
  <item>
    <title>Easy Ways to Manage Access Control List (ACL) on Linux</title>
    <link>https://adityacprtm.dev/blog/easy-ways-to-manage-access-control-list-acl-on-linux</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/easy-ways-to-manage-access-control-list-acl-on-linux</guid>
    <description>A practical guide to managing Access Control Lists (ACL) on Linux for better file and directory security.</description>
    <pubDate>Mon, 08 Aug 2022 00:07:15 GMT</pubDate>
  </item>
  <item>
    <title>Create an OpenVPN Server in Seconds</title>
    <link>https://adityacprtm.dev/blog/create-an-open-vpn-server-in-seconds</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/create-an-open-vpn-server-in-seconds</guid>
    <description>Learn how to quickly set up your own OpenVPN server using open-source tools for secure remote access.</description>
    <pubDate>Wed, 03 Aug 2022 05:18:34 GMT</pubDate>
  </item>
  <item>
    <title>Initial Configuration To Secure New Server</title>
    <link>https://adityacprtm.dev/blog/initial-configuration-to-secure-new-server</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/initial-configuration-to-secure-new-server</guid>
    <description>Essential first steps to secure a new Linux server — user setup, SSH configuration, and firewall rules.</description>
    <pubDate>Wed, 03 Aug 2022 05:16:28 GMT</pubDate>
  </item>
  <item>
    <title>How to Build a Serverless Website with reCAPTCHA on AWS</title>
    <link>https://adityacprtm.dev/blog/how-to-build-a-serverless-website-with-re-captcha-on-aws</link>
    <guid isPermaLink="true">https://adityacprtm.dev/blog/how-to-build-a-serverless-website-with-re-captcha-on-aws</guid>
    <description>Build a serverless contact form on AWS with Lambda and Google reCAPTCHA to prevent spam without running a server.</description>
    <pubDate>Wed, 03 Aug 2022 05:11:54 GMT</pubDate>
  </item>
  </channel>
</rss>
