Git Actions with Gitea
Gitea, GitHub and GitLab Runners - all the same?
Project info
Software Engineering
Introduction
A brief project description or quote to summarize its goals.
“Basic setup including server, runner, and pipeline to deploy a website on an Nginx server ”
Explore the Project
Tech details - Go to general technical info about components (on this page)
About
Introduction
Inspired by the recent interview conversation, I decided to synthesize and expand my interdisciplinary knowledge and try my hand at the DevOps approach. The impact of this culture is visible not only in software delivery but also in data processing and analysis (DataOps), infrastructure management (GitOps), and improving the reliability of production environments (SRE). I consider it a valuable lesson and an excellent complement to my previous projects.In this project, I explored and successfully set up a server and tools to automate deployments triggered by pushes to the main branch. The process involves checking out the repository to the target directory without building packages, serving as a foundation for future initiatives and projects. This approach offers a simpler case to more complex pipelines, such as those I've implemented in JetBrains TeamCity.
Note: While the containerized Gitea setup functions well, containerized runners are more challenging to configure compared to standard installations.
Project Overview
In General
Components
Quick Summary
- CI/CD Service
- Infrastructure and Networking
List of All Technologies
Grouped by Category
Category | Technologies |
---|---|
VCS | Git + Gitea (self-hosted GitLab or GitHub alternative) |
CI/CD | Gitea Actions ✦ Gitea Runner |
YAML | Workflow definition |
Containerization | Docker, Docker Compose |
OS | Linux Debian |
Web Server | NGINX as a Reverse Proxy |
SSL | Certbot + Let's Encrypt for automatic SSL |
Monitoring & Observability | NetData |
Local DNS & DHCP | PiHole/Unbound |
Static Site Generator | Eleventy (11ty) for generating a static homepage |
Components Specification
Detailed Information Grouped by Components
Table of Contents:
- CI/CD Service
- Infrastructure and Networking
Details
-
CI/CD Service
Setup including server, runner, and pipeline to deploy a website on an Nginx server
Use Cases
- Version Control: Managing repositories and tracking the history of code changes
- CI/CD: Managing repositories and tracking code change history
- Pipeline #1: Deploying a simple website
Tech Stack
Category Description VCS Git + Gitea (self-hosted GitLab or GitHub alternative) CI/CD Gitea Actions CI/CD Gitea Runner YAML Workflow definition Containerization Docker, Docker Compose OS Linux Debian -
Infrastructure and Networking
Managing network and server infrastructure using NGINX and local DNS.
Use Case
- Network Routing: Handling subdomains and securing HTTP/S traffic
- SSL/TLS Management: Ensuring secure connections with SSL certificates
Tech Stack
Category Description Web Server NGINX as a Reverse Proxy SSL Certbot + Let's Encrypt for automatic SSL Monitoring & Observability NetData Local DNS & DHCP PiHole/Unbound Static Site Generator Eleventy (11ty) for generating a static homepage
Additional Information
- Domain: DevOps, DataOps
- Status: in_progress
- Keywords: Gitea CI/CD Docker GitLab GitHub