<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mohamed</title>
    <description>The latest articles on DEV Community by Mohamed (@mohamed-dridi).</description>
    <link>https://dev.to/mohamed-dridi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1189461%2F5c40571d-f48d-4549-a26a-4060fd192268.png</url>
      <title>DEV Community: Mohamed</title>
      <link>https://dev.to/mohamed-dridi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mohamed-dridi"/>
    <language>en</language>
    <item>
      <title>Azure Web App Deployment with Ansible &amp; Docker</title>
      <dc:creator>Mohamed</dc:creator>
      <pubDate>Sun, 09 Feb 2025 13:57:29 +0000</pubDate>
      <link>https://dev.to/mohamed-dridi/azure-web-app-deployment-with-ansible-docker-3a32</link>
      <guid>https://dev.to/mohamed-dridi/azure-web-app-deployment-with-ansible-docker-3a32</guid>
      <description>&lt;p&gt;This project automates the deployment of web applications and their monitoring infrastructure on Azure using Ansible and Docker.  It simplifies the process of launching and managing web apps in the cloud.&lt;/p&gt;

&lt;p&gt;Analyze how it works: I'll examine the code, documentation, and any available explanations to understand the project's architecture, functionality, and key components.&lt;/p&gt;

&lt;p&gt;Hey DevOps wizards! 👋 Well, fear not! I've built a magical 🪄 project to simplify your life: Ansible-Docker-Azure!  🎉&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Docker: Because containers are like tiny spaceships 🚀 for your apps!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Uptime Kuma: A super friendly UI to keep an eye 👀 on your precious web app. No more guessing if it's up or down!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ansible: The most straightforward way for Linux lovers ❤️ to deploy and configure everything. Seriously, it's so easy, your grandma could do it! (Probably not, but you get the idea.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Azure Cloud: The ultimate playground ☁️ to build crazy infrastructure. We're talking full-on cloud ninja 🥋 moves here!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What does it do?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, it takes your web app, wraps it in a Docker container, throws it up on Azure, and then uses Uptime Kuma to make sure it's behaving.  All with the help of Ansible, of course.  It's like a well-choreographed dance 💃 of cloud deployment!&lt;/p&gt;

&lt;p&gt;How to get started?&lt;/p&gt;

&lt;p&gt;Clone the repo: git clone &lt;a href="https://github.com/Mouhamed-dridi/Ansible-docker-Azure" rel="noopener noreferrer"&gt;link-here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Set up your Azure credentials (don't worry, it's not that scary 👻).&lt;br&gt;
Run the Ansible playbook: ansible-playbook deploy.yml (and boom! 💥)&lt;br&gt;
Why should you care?&lt;/p&gt;

&lt;p&gt;Save time: No more manual configuration madness! &lt;br&gt;
Be a hero: Deployments so smooth, you'll be the office legend. 😎&lt;br&gt;
Impress your friends: Show off your cloud skills with this awesome project. ✨&lt;/p&gt;

&lt;p&gt;So, what are you waiting for? Go check out the repo and give it a spin!  Let me know what you think! 👇&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Website : &lt;a href="https://vercel.com/mouhamed-dridis-projects/ansible-docker-azure" rel="noopener noreferrer"&gt;check now &lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;GitHub Repo : &lt;a href="https://github.com/Mouhamed-dridi/Ansible-docker-Azure" rel="noopener noreferrer"&gt;let's Deploy&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devops</category>
      <category>cloud</category>
      <category>linux</category>
      <category>docker</category>
    </item>
    <item>
      <title>The Fun Way to Deploy a Website on Google Cloud</title>
      <dc:creator>Mohamed</dc:creator>
      <pubDate>Sat, 11 Nov 2023 08:07:33 +0000</pubDate>
      <link>https://dev.to/mohamed-dridi/the-fun-way-to-deploy-a-website-on-google-cloud-4maa</link>
      <guid>https://dev.to/mohamed-dridi/the-fun-way-to-deploy-a-website-on-google-cloud-4maa</guid>
      <description>&lt;p&gt;Google Cloud is one of the easiest cloud platforms to use, making it an excellent choice for beginners looking to get their feet wet in cloud computing. One of the first projects you can start with is deploying a web server. To make this project even more fun, we're going to deploy a website to Batman portfolio .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Google Cloud account&lt;/li&gt;
&lt;li&gt;Basic familiarity with Linux commands&lt;/li&gt;
&lt;li&gt;(Optional) Terraform knowledge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Steps:&lt;/strong&gt;&lt;br&gt;
Create a Linux instance: You can do this using the Google Cloud console (lazy mode) or Terraform (hacker mode).&lt;br&gt;
&lt;em&gt;Lazy Mode:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the Compute Engine &amp;gt; VM Instances page in the Google Cloud console.&lt;/li&gt;
&lt;li&gt;Click the "Create Instance" button.&lt;/li&gt;
&lt;li&gt;Choose a Linux operating system, such as Ubuntu or CentOS.&lt;/li&gt;
&lt;li&gt;Select the desired machine type and region.&lt;/li&gt;
&lt;li&gt;Enable HTTP and HTTPS traffic by checking the appropriate boxes.&lt;/li&gt;
&lt;li&gt;Click the "Create" button to provision the instance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Hacker Mode:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;open the code shell editor 
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ra2144ymq6diivfaple.png" alt="Image description"&gt;
&lt;/li&gt;
&lt;li&gt;create main.tf file 
&lt;code&gt;nano main.tf&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;copy the  Terraform configuration defines the instance resources.&lt;/li&gt;
&lt;li&gt;Initialize Terraform in the project directory.
&lt;code&gt;terraform init&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;terraform plan&lt;/code&gt; to review the planned changes.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;terraform apply&lt;/code&gt; to apply the changes and provision the instance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;`provider "google" {&lt;/p&gt;

&lt;p&gt;project     = "qwiklabs-gcp-03-1b02059e2c47"&lt;br&gt;
  region      = "us-central1"&lt;br&gt;
  zone        = "us-central1-a"  # Add the desired zone here&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;resource "google_compute_instance" "web_server" {&lt;br&gt;
  name         = "web-server-instance"&lt;br&gt;
  machine_type = "f1-micro"&lt;/p&gt;

&lt;p&gt;boot_disk {&lt;br&gt;
    initialize_params {&lt;br&gt;
      image = "ubuntu-os-cloud/ubuntu-2004-lts"&lt;br&gt;
    }&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;network_interface {&lt;br&gt;
    network = "default"&lt;br&gt;
    access_config {&lt;br&gt;
      // Automatically allocate an external IP&lt;br&gt;
    }&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;metadata_startup_script = &amp;lt;&amp;lt;-SCRIPT&lt;br&gt;
    #!/bin/bash&lt;br&gt;
    apt-get update&lt;br&gt;
    apt-get install -y apache2&lt;br&gt;
  SCRIPT&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;resource "google_compute_firewall" "allow-http" {&lt;br&gt;
  name    = "allow-http"&lt;br&gt;
  network = "default"&lt;/p&gt;

&lt;p&gt;allow {&lt;br&gt;
    protocol = "tcp"&lt;br&gt;
    ports    = ["80"]&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;source_ranges = ["0.0.0.0/0"]&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;resource "google_compute_firewall" "allow-https" {&lt;br&gt;
  name    = "allow-https"&lt;br&gt;
  network = "default"&lt;/p&gt;

&lt;p&gt;allow {&lt;br&gt;
    protocol = "tcp"&lt;br&gt;
    ports    = ["443"]&lt;br&gt;
  }&lt;/p&gt;

&lt;p&gt;source_ranges = ["0.0.0.0/0"]&lt;br&gt;
}&lt;br&gt;
`&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;With Terraform, Apache installation is automated: When using Terraform, the Apache web server is automatically installed during the instance creation process. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsr54dd5fviim8u4eh01v.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsr54dd5fviim8u4eh01v.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connecting with SSH:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To connect to your Linux instance using SSH, Open an SSH client on your local machine.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2v32ydobvpplx4afs8p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2v32ydobvpplx4afs8p.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate to the directory where you want to store the project files . remove the default index.html files&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd /var/www/html&lt;/code&gt;&lt;br&gt;
&lt;code&gt;sudo rm index.html&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clone the repository using the following command:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git clone  https://github.com/Mouhamed-dridi/thebatman.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Restart the Apache service to ensure the newly cloned project files are properly served:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo service apache2 restart&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test and Enjoy:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open a web browser and navigate to your instance's external IP address.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F545g94bh36lx15j5o6jx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F545g94bh36lx15j5o6jx.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You should now see the Batman portfolio website up and running.&lt;/p&gt;

&lt;p&gt;Congratulations! You've successfully deployed a website on Google Cloud, whether you chose the manual or Terraform-automated approach. &lt;/p&gt;

</description>
      <category>googlecloud</category>
      <category>linux</category>
      <category>terraform</category>
      <category>devops</category>
    </item>
    <item>
      <title>DevFest 2023: The Biggest Tech Conference of the Year!</title>
      <dc:creator>Mohamed</dc:creator>
      <pubDate>Fri, 03 Nov 2023 19:30:18 +0000</pubDate>
      <link>https://dev.to/mohamed-dridi/devfest-2023-the-biggest-tech-conference-of-the-year-5be9</link>
      <guid>https://dev.to/mohamed-dridi/devfest-2023-the-biggest-tech-conference-of-the-year-5be9</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Lmq5z4n1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0v0m10kmmdp5rvgrgge8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Lmq5z4n1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0v0m10kmmdp5rvgrgge8.png" alt="Image description" width="585" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DevFest is a global developer conference hosted by Google Developer Groups (GDGs) around the world. It is a community-led DevFest is a global developer conference hosted by Google Developer Groups (GDGs) around the world. 🌎💻&lt;/p&gt;

&lt;p&gt;It is a community-led event where developers of all skill levels can come together to learn, build, and network. 🤝🧑‍💻👩‍💻&lt;br&gt;
At DevFest, you can expect to find a variety of activities, including: 📚💡&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Talks from leading experts in the tech industry 🗣️🌟&lt;/li&gt;
&lt;li&gt;Workshops on a variety of topics, from coding basics to advanced machine learning ⚒️🧠&lt;/li&gt;
&lt;li&gt;Code labs where you can learn new skills and build projects 🔬🧪&lt;/li&gt;
&lt;li&gt;Hackathons where you can collaborate with other developers to solve real-world problems 🧩🤖&lt;/li&gt;
&lt;li&gt;Networking opportunities to meet other developers and learn from their experiences 💬👭👬&lt;/li&gt;
&lt;li&gt;To attend DevFest, you need to register through the GDG website. 🌐🖱️&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Registration is usually free .....&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>gdg</category>
      <category>google</category>
      <category>talk</category>
      <category>hackathon</category>
    </item>
    <item>
      <title>From Darkness to Light Managing Linux Servers with Web UI</title>
      <dc:creator>Mohamed</dc:creator>
      <pubDate>Thu, 02 Nov 2023 15:23:49 +0000</pubDate>
      <link>https://dev.to/mohamed-dridi/from-darkness-to-light-managing-linux-servers-with-web-ui-5b4o</link>
      <guid>https://dev.to/mohamed-dridi/from-darkness-to-light-managing-linux-servers-with-web-ui-5b4o</guid>
      <description>&lt;p&gt;Anyone who has managed Linux servers from Bash knows that it can be a bit like being a hacker. But  sysadmins prefer to control their servers with a web interface. This is where Cockpit comes in.&lt;/p&gt;

&lt;p&gt;Cockpit is a free and open-source web-based management console for Linux servers. &lt;/p&gt;

&lt;p&gt;Because we have many servers, both VMs and bare metal, I think we should use the magic automation tool called Ansible. Check out the GitHub repository for more information.&lt;/p&gt;

&lt;p&gt;link : &lt;a href="https://github.com/Mouhamed-dridi/Ansible_with_Cockpit.git"&gt;https://github.com/Mouhamed-dridi/Ansible_with_Cockpit.git&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ansible</category>
      <category>admin</category>
      <category>cockpit</category>
    </item>
  </channel>
</rss>
