Wiki major update
updated with recent documentation
This commit is contained in:
133
wiki/service-docs/gitlab.md
Normal file
133
wiki/service-docs/gitlab.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# GitLab - DevOps Platform
|
||||
|
||||
## Table of Contents
|
||||
- [Overview](#overview)
|
||||
- [What is GitLab?](#what-is-gitlab)
|
||||
- [Why Use GitLab?](#why-use-gitlab)
|
||||
- [Configuration in AI-Homelab](#configuration-in-ai-homelab)
|
||||
- [Official Resources](#official-resources)
|
||||
- [Docker Configuration](#docker-configuration)
|
||||
|
||||
## Overview
|
||||
|
||||
**Category:** DevOps Platform
|
||||
**Docker Image:** [gitlab/gitlab-ce](https://hub.docker.com/r/gitlab/gitlab-ce)
|
||||
**Default Stack:** `development.yml`
|
||||
**Web UI:** `http://SERVER_IP:8929`
|
||||
**SSH:** Port 2224
|
||||
**Ports:** 8929, 2224
|
||||
**Resource Requirements:** 4GB+ RAM
|
||||
|
||||
## What is GitLab?
|
||||
|
||||
GitLab is a complete DevOps platform - Git hosting, CI/CD, issue tracking, container registry, and more in one application. It's the open-source alternative to GitHub Enterprise, providing everything needed for modern software development.
|
||||
|
||||
### Key Features
|
||||
- **Git Repositories:** Unlimited repos
|
||||
- **CI/CD:** GitLab Runner integration
|
||||
- **Issue Tracking:** Project management
|
||||
- **Container Registry:** Docker image hosting
|
||||
- **Wiki:** Per-project documentation
|
||||
- **Code Review:** Merge requests
|
||||
- **Snippets:** Code sharing
|
||||
- **Auto DevOps:** Automated CI/CD
|
||||
- **Security Scanning:** Built-in security
|
||||
- **Free & Open Source:** CE edition
|
||||
|
||||
## Why Use GitLab?
|
||||
|
||||
1. **All-in-One:** Git + CI/CD + more
|
||||
2. **Self-Hosted:** Private code platform
|
||||
3. **CI/CD Included:** No separate service
|
||||
4. **Container Registry:** Host Docker images
|
||||
5. **Issue Tracking:** Built-in project management
|
||||
6. **GitHub Alternative:** More features included
|
||||
7. **Active Development:** Regular updates
|
||||
|
||||
## Configuration in AI-Homelab
|
||||
|
||||
```
|
||||
/opt/stacks/development/gitlab/
|
||||
config/ # GitLab configuration
|
||||
logs/ # Application logs
|
||||
data/ # Git repositories, uploads
|
||||
```
|
||||
|
||||
**Warning:** GitLab is resource-intensive (4GB+ RAM minimum).
|
||||
|
||||
## Official Resources
|
||||
|
||||
- **Website:** https://about.gitlab.com
|
||||
- **Documentation:** https://docs.gitlab.com
|
||||
- **CI/CD Docs:** https://docs.gitlab.com/ee/ci
|
||||
|
||||
## Docker Configuration
|
||||
|
||||
```yaml
|
||||
gitlab:
|
||||
image: gitlab/gitlab-ce:latest
|
||||
container_name: gitlab
|
||||
restart: unless-stopped
|
||||
hostname: gitlab.${DOMAIN}
|
||||
networks:
|
||||
- traefik-network
|
||||
ports:
|
||||
- "8929:80"
|
||||
- "2224:22"
|
||||
environment:
|
||||
GITLAB_OMNIBUS_CONFIG: |
|
||||
external_url 'https://gitlab.${DOMAIN}'
|
||||
gitlab_rails['gitlab_shell_ssh_port'] = 2224
|
||||
gitlab_rails['time_zone'] = 'America/New_York'
|
||||
volumes:
|
||||
- /opt/stacks/development/gitlab/config:/etc/gitlab
|
||||
- /opt/stacks/development/gitlab/logs:/var/log/gitlab
|
||||
- /opt/stacks/development/gitlab/data:/var/opt/gitlab
|
||||
shm_size: '256m'
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.gitlab.rule=Host(`gitlab.${DOMAIN}`)"
|
||||
```
|
||||
|
||||
**Note:** First startup takes 5-10 minutes. GitLab needs significant resources.
|
||||
|
||||
## Summary
|
||||
|
||||
GitLab is your complete DevOps platform offering:
|
||||
- Git repository hosting
|
||||
- Built-in CI/CD pipelines
|
||||
- Container registry
|
||||
- Issue tracking
|
||||
- Wiki and documentation
|
||||
- Code review (merge requests)
|
||||
- Security scanning
|
||||
- Free and open-source
|
||||
|
||||
**Perfect for:**
|
||||
- Private Git hosting
|
||||
- CI/CD pipelines
|
||||
- Team development
|
||||
- DevOps workflows
|
||||
- Container image hosting
|
||||
- Project management
|
||||
- Self-hosted GitHub alternative
|
||||
|
||||
**Key Points:**
|
||||
- Requires 4GB+ RAM
|
||||
- All-in-one DevOps platform
|
||||
- Built-in CI/CD
|
||||
- Container registry included
|
||||
- First startup slow (5-10 min)
|
||||
- SSH on port 2224
|
||||
- Resource intensive
|
||||
|
||||
**Remember:**
|
||||
- Needs significant resources
|
||||
- Initial setup takes time
|
||||
- Get root password from logs
|
||||
- Configure GitLab Runner for CI/CD
|
||||
- Container registry built-in
|
||||
- Regular backups important
|
||||
- Update carefully (read changelogs)
|
||||
|
||||
GitLab provides enterprise DevOps at home!
|
||||
Reference in New Issue
Block a user