- Refactored README.md, getting-started.md, quick-reference.md - Enhanced setup-homelab.sh with 9-step automated process - Created services-overview.md with all stacks - Added comprehensive documentation for 57 services in docs/service-docs/ - All services include: overview, configuration, resources, educational content - Coverage: Core, Infrastructure, Dashboards, Media, Media-Extended, Home Assistant, Productivity, Utilities, Monitoring, Development stacks - Educational focus with links to tutorials, videos, and guides
3.6 KiB
3.6 KiB
GitLab - DevOps Platform
Table of Contents
- Overview
- What is GitLab?
- Why Use GitLab?
- Configuration in AI-Homelab
- Official Resources
- Docker Configuration
Overview
Category: DevOps Platform
Docker Image: 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?
- All-in-One: Git + CI/CD + more
- Self-Hosted: Private code platform
- CI/CD Included: No separate service
- Container Registry: Host Docker images
- Issue Tracking: Built-in project management
- GitHub Alternative: More features included
- 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
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!