Real world DevOps project from start to finish
DevOps for startups and individuals | Docker, LXC, GitLab, CI/CD, Ansible, certbot, WireGuard, mail, Traefik, Pi-hole
Get Started
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 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.