
DevOps for startups, small companies, and individuals
Description
This course will cover a DevOps project from its inception all the way to a finished product. 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.
Who this course is for:
- Startups
- Small companies
- Linux System Administrators and developers looking to enter DevOps world
- Individuals looking to self-host their own infrastructure