Real world DevOps project from start to finish - WireGuard VPN Part 1
Channel: predmijat
Date: 14/11/2022

CHECK OUT MY DEVOPS COURSE WITH 85% OFF COUPON AT https://sre.rs

Hello everyone,


I've made a DevOps course covering a lot of different technologies and applications,
aimed at startups, small companies and individuals who want to self-host
their infrastructure.

This video shows the first part of setting up WireGuard VPN.

TL;DR:
Course page: https://www.udemy.com/course/real-world-devops-project-from-start-to-finish/?referralCode=9AC467077593D22878A2
Discount coupon is available at https://sre.rs

Details:
To get this out of the way - this course doesn't cover Kubernetes or similar -
I'm of the opinion that for startups, small companies, and especially individuals,
you probably don't need Kubernetes. Unless you have a whole DevOps team,
it usually brings more problems than benefits, and unnecessary infrastructure bills
buried a lot of startups before they got anywhere.

As for prerequisites, you can't be a complete beginner in the world of computers.
If you've never even heard of Docker, if you don't know at least something about DNS,
or if you don't have any experience with Linux, this course is probably not for you.
That being said, I do explain the basics too, but probably not in enough detail
for a complete beginner.

I encourage you to watch "free preview" videos to get the sense of what
will be covered, but here's the gist:

The goal of the course is to create an easily deployable and reproducible server
which will have "everything" a startup or a small company will need - VPN, mail, Git,
CI/CD, messaging, hosting websites and services, sharing files, calendar, etc.
It can also be useful to individuals who want to self-host all of those - I ditched Google 99.9%
and other than that being a good feeling, I'm not worried that some AI bug will lock my account
with no one to talk to about resolving the issue.

Considering that it covers a wide variety of topics, it doesn't go in depth in any of those.
Think of it as going down a highway towards the end destination, but on the way there I show you
all the junctions where I think it's useful to do more research on the subject.

We'll deploy services inside Docker and LXC (Linux Containers). Those will include
a mail server (iRedMail), Zulip (Slack and Microsoft Teams alternative), GitLab (with GitLab Runner and CI/CD),
Nextcloud (file sharing, calendar, contacts, etc.), checkmk (monitoring solution), Pi-hole (ad blocking on DNS level),
Traefik with Docker and file providers (a single HTTP/S entry point with automatic routing and TLS certificates).

We'll set up WireGuard, a modern and fast VPN solution for secure access to VPS' internal network,
and I'll also show you how to get a wildcard TLS certificate with certbot and DNS provider.

To wrap it all up, we'll write a simple Python application that will compare a list of the desired backups
with the list of finished backups, and send a result to a Zulip stream.
We'll write the application, do a 'git push' to GitLab which will trigger a CI/CD pipeline
that will build a Docker image, push it to a private registry, and then,
with the help of the GitLab runner, run it on the VPS and post a result to a Zulip stream with a webhook.


If you apply the coupon, I'd appreciate if you leave your feedback on Udemy
after you're done and spread the word about the course. It would mean a lot.


I hope that you find it useful.


Happy learning,
Predrag