Course Outline
Source Code Sovereignty
- Understanding how cloud Git platforms can expose proprietary code and trade secrets.
- Gitea architecture and comparisons with GitHub, GitLab, and Forgejo.
- Licensing, terms-of-service considerations, and data export implications.
Installation and Configuration
- Deploying Gitea with Docker Compose using PostgreSQL and Redis.
- Installing binaries on Linux with systemd services.
- Configuring reverse proxies, TLS, and SSH ports.
- Completing the initial setup wizard: database connection, admin account creation, and app.ini tuning.
Repository Management
- Creating organizations, teams, and repositories.
- Implementing branch protection, requiring code reviews, and enforcing signed commits.
- Using issue tracking, labels, milestones, and Kanban boards.
- Hosting wikis and release artifacts.
CI/CD with Gitea Actions
- Enabling Gitea Actions and registering act runners.
- Writing YAML workflows for building, testing, and deploying code.
- Ensuring security for self-hosted runners and container isolation.
- Utilizing artifact caching and matrix builds.
Migration from Cloud Forges
- Mirroring and importing repositories from GitHub/GitLab.
- Migrating issues, pull requests, and release notes.
- Preserving commit signatures and GPG key trust relationships.
Authentication and Access Control
- Integrating LDAP, Active Directory, and OpenID Connect.
- Managing two-factor authentication and deployment tokens.
- Defining repository visibility scopes: public, internal, and private.
Security and Compliance
- Enforcing commit signing with GPG and SSH keys.
- Maintaining audit logs for repository access and administrative changes.
- Conducting dependency scanning and monitoring for vulnerability webhook alerts.
Maintenance and Scaling
- Implementing backup strategies for Git data, issues, and attachments.
- Optimizing the database and offloading attachments to S3.
- Upgrading Gitea and managing breaking changes.
Requirements
- Intermediate knowledge of Git and version control concepts.
- Linux server administration skills, including Docker.
- Familiarity with CI/CD pipelines and webhooks.
Audience
- Development teams looking to replace GitHub or GitLab.com.
- Organizations that require on-premise custody of their source code.
- Government agencies and defense contractors subject to code export restrictions.
Testimonials (4)
I like that I've got immediately answer to my questions.
Szabolcs Kriston - Ericsson
Course - Advanced GitLab
Repeat the important takeaway
Milly Chen - Logitech
Course - Gerrit Code Review
Exercises that we were able to do on VMs
Atif Bhatti
Course - Git Hands-on Workshop with Azure DevOps
I liked the easy communication between trainer and us, care given to our problems, insights and additional knowledge provided in anwers to our questions. I liked the pace, it didn't feel rushed at any point, even with technical problems. Each subject was taken care of properly.