Mô tả

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 TLS termination 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.

Bạn sẽ học được gì

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

Yêu cầu

  • Basic knowledge of Linux
  • Domain name with access to DNS settings (buying one demonstrated in the course)
  • Server - VPS or physical, reachable via public IP (buying one demonstrated in the course). No AWS! It can't handle bridge interface which we'll use for LXC (mail server and Zulip).
  • Computer running macOS, Linux, or Windows (macOS used in the course)

Nội dung khoá học

37 sections

Introduction

1 lectures
Course overview
03:29

First Steps

1 lectures
First Steps
01:35

Buying a domain

1 lectures
Buying a domain
08:01

How DNS works

1 lectures
How DNS works
02:26

VPS

1 lectures
VPS
04:00

Storage volume

1 lectures
Adding and configuring storage volume
02:10

Recap: Linode VPS, Arch Linux, additional storage volume

2 lectures
Recap: Linode VPS, Arch Linux, additional storage volume
00:42
How does DNS work?
1 question

Ansible Introduction

1 lectures
Ansible Introduction
01:47

Ansible Installation and Configuration

1 lectures
Ansible Installation and Configuration
05:21

Ansible Roles

1 lectures
Ansible Roles
06:20

DNS A records

1 lectures
DNS A records
02:32

Configuring DNS on Linux

1 lectures
Configuring DNS on Linux
02:27

Linux file permissions

1 lectures
Linux file permissions
03:13

Essentials

5 lectures
Essentials - Main
09:19
Essentials - Packages
10:21
Essentials - Cron
02:29
Essentials - Network bridge
05:17
Essentials - Loopback interface
04:08

Security - SSH daemon, iptables, SSH config, LISH console

1 lectures
Security - SSH daemon, iptables, SSH config, LISH console
07:20

sysctl - Tweaking kernel parameters

1 lectures
sysctl - Tweaking kernel parameters
03:33

Recap: venv, Ansible configuration, hostname, essentials, security, sysctl

3 lectures
Recap: venv, Ansible configuration, hostname, essentials, security, sysctl
01:38
DNS on systems with systemd-resolved
1 question
Host bridge
1 question

certbot, ACME protocol, wildcard TLS certificates

1 lectures
certbot, ACME protocol, wildcard TLS certificates
11:13

WireGuard

2 lectures
WireGuard - Part 1
08:03
WireGuard - Part 2
06:50

Docker

3 lectures
Docker - Part 1
08:43
Docker - Part 2
06:18
Docker - Part 3
04:11

MariaDB

1 lectures
Installing and configuring MariaDB, Ansible Vault
15:24

LXC (Linux Containers)

1 lectures
LXC (Linux Containers) - installing and configuring
03:41

Recap: certbot, WireGuard, Docker, MariaDB, LXC

3 lectures
Recap: certbot, WireGuard, Docker, MariaDB, LXC
01:18
WIldcard TLS certificate
1 question
Docker
3 questions

iRedMail

7 lectures
iRedMail - Part 1
02:44
iRedMail - Part 2
12:43
iRedMail - Part 3
03:38
iRedMail - Part 4
01:31
iRedMail - Part 5
07:55
iRedMail - Part 6
11:28
Mail
2 questions

Zulip

3 lectures
Zulip - Part 1
07:17
Zulip - Part 2
09:53
Zulip
2 questions

Recap: Zulip

1 lectures
Recap: Zulip
02:21

Traefik

4 lectures
Traefik - Part 1
02:44
Traefik - Part 2
08:15
Traefik - Part 3
06:15
Traefik
1 question

Pi-Hole

1 lectures
Deploying, configuring, and setting Pi-Hole as a DNS resolver
11:19

Nextcloud

4 lectures
Nextcloud - Part 1
09:48
Nextcloud - Part 2
04:51
Nextcloud
1 question
Nextcloud - Recap
02:25

checkmk

5 lectures
checkmk - Part 1
05:03
checkmk - Part 2
08:13
checkmk - Part 3
06:53
chechmk
1 question
checkmk - Recap
01:14

Borg and borgmatic

3 lectures
Borg and borgmatic - Installing and configuring Borg with borgmatic wrapper
08:07
Borg
1 question
Borg and borgmatic - Recap
01:26

GitLab and GitLab Runner

3 lectures
GitLab
13:15
GitLab
2 questions
GitLab Runner
03:17

do-p.com website

3 lectures
Deploying a website via GitLab CI/CD
06:16
First CI/CD
1 question
do-p.com website - Recap
01:58

backup-checker Python application

4 lectures
backup-checker Python application - Part 1
14:27
backup-checker Python application - Part 2
08:18
backup-checker Python application - Recap
03:11
backup-checker
2 questions

Staying up to date

2 lectures
Staying up to date - Docker services
05:33
Staying up to date - LXCs and host OS
05:47

Docker prune

1 lectures
Running 'docker prune' command periodically via crontab
03:17

Outro

1 lectures
The End
00:49

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.