Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Real world DevOps project from start to finish [11/2024]

via Udemy

Overview

DevOps for individuals, startups, and self-hosting | Docker, GitLab, Ansible, LXC, CI/CD, WireGuard, Traefik, Linux

What you'll learn:
  • Ansible
  • Server networking and security setup
  • Let's Encrypt (certbot)
  • WireGuard (VPN)
  • Docker
  • docker-compose
  • Traefik
  • GitLab
  • GitLab CI/CD pipeline through implementing a simple project
  • Borg with borgmatic
  • LXC
  • Mail server

This course will cover a DevOps project from its inception all the way to a finished product.

It is aimed at startups, small companies, and individuals who want to self-host their infrastructure.

We will combine multiple tools and services to produce a working, easily reproducible server which can support a small company.

We will cover:

  • Ansible - to configure the server and deploy services.

  • Let's Encrypt (certbot) - to obtain wildcard TLS certificate with auto renewal.

  • VPN (WireGuard) - for secure access to our services.

  • Docker with docker compose - to easily deploy our applications and services.

  • MariaDB - MySQL fork.

  • LXC (Linux containers) - another virtualization technology.

  • iRedMail - mail server which we'll use to send and receive notifications.

  • Zulip - an open source chat and collaborative software which can be self-hosted (alternative to Slack or Microsoft Teams).

  • Traefik (reverse proxy and TLStermination proxy) with Docker and file providers - a single entry point for our services with automatic TLS certificates.

  • Pi-hole - ad blocking on DNS level.

  • Nextcloud - Email, calendar, documents, photos...It even has built-in code editor.

  • checkmk - monitoring solution.

  • Borg with borgmatic - backup solution.

  • GitLab - Git server, CI/CD, GitLab Container Registry, etc.

  • backup-checker - with this project we will showcase everything we've created!

    We'll create a Python program which will compare finished backups with the desired list of backups, use GitLab CI/CD to create Docker image, push it to our own, private Docker Registry, run it on our server via GitLab Runner, and send notification to our Zulip server.

  • Upgrade scripts for services running in Docker.

  • Upgrading iRedMail.

  • Upgrading Zulip.

  • Upgrading host OS.

When you finish the course, you'll be equipped to add any additional services you need for your particular line of work.

Syllabus

  • Introduction
  • First Steps
  • Buying a domain
  • How DNS works
  • VPS
  • Storage volume
  • Recap: Linode VPS, Arch Linux, additional storage volume
  • Ansible Introduction
  • Ansible Installation and Configuration
  • Ansible Roles
  • DNS A records
  • Configuring DNS on Linux
  • Linux file permissions
  • Essentials
  • Security - SSH daemon, iptables, SSH config, LISH console
  • sysctl - Tweaking kernel parameters
  • Recap: venv, Ansible configuration, hostname, essentials, security, sysctl
  • certbot, ACME protocol, wildcard TLS certificates
  • WireGuard
  • Docker
  • MariaDB
  • LXC (Linux Containers)
  • Recap: certbot, WireGuard, Docker, MariaDB, LXC
  • iRedMail
  • Zulip
  • Recap: Zulip
  • Traefik
  • Pi-Hole
  • Nextcloud
  • checkmk
  • Borg and borgmatic
  • GitLab and GitLab Runner
  • do-p.com website
  • backup-checker Python application
  • Staying up to date
  • Docker prune
  • Outro

Taught by

Predrag Mijatovic

Reviews

4.6 rating at Udemy based on 483 ratings

Start your review of Real world DevOps project from start to finish [11/2024]

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.