Blogs

  • How to Migrate a MySQL Database to PostgreSQL for Mattermost (Complete Guide)

    Migrating Mattermost from MySQL to PostgreSQL can significantly improve performance, stability, and scalability. PostgreSQL is the recommended database backend for modern Mattermost deployments—especially for production environments and large teams. In this guide, I’ll walk you step-by-step through installing PostgreSQL in a homelab, setting up the master database, using pgloader for migration, and completing the post-migration…

  • Integrate SonarQube with Jenkins Groovy Pipeline for Code Quality Analysis

    In modern software development, code quality plays a vital role in maintaining reliable and maintainable applications. As part of a DevSecOps or CI/CD workflow, integrating SonarQube with Jenkins helps automate static code analysis, detect vulnerabilities early, and enforce quality gates before deployment. In this article, you’ll learn how to integrate SonarQube with a Jenkins Groovy…

  • How to Configure AWS S3 as a Binary Store for JFrog Artifactory

    🧩 1. Create an S3 Bucket 🔑 2. Create an IAM User for Artifactory ⚙️ 3. Update binarystore.xml 🔸 Note: The <chain template=”s3-storage-v3-direct”/> ensures Artifactory uses direct S3 access instead of caching locally. 🧹 4. Set Permissions Ensure the binarystore.xml has correct permissions: 🔄 5. Restart Artifactory Restart the Artifactory service to apply the new…

  • How to Resolve Hosts Inside a Docker Container (Using getent hosts Instead of nslookup or dig)

    🔍 Introduction When working inside a Docker container, you might need to verify DNS resolution — for example, to check if your container can reach another service or hostname. However, many minimal base images (like Alpine, Debian-slim, or Ubuntu minimal) do not include the nslookup or dig commands.So, what do you do when these tools…

  • How to Enable Caching in NGINX Ingress Controller [Step-by-Step Guide]

    Step 1: Nginx Deployment Update Create a ConfigMap nginx-configmap.yaml as shown below, replace the namespace with the namespace of your NGINX Ingress controller, and rename the keys_zone with your desired name. In this example, it is named test_cache. Once you have created the ConfigMap nginx-configmap.yaml, apply it by running the following command: Now edit the…