template.yaml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. ---
  2. kind: compose
  3. metadata:
  4. name: GitLab
  5. description: >
  6. GitLab is a web-based DevOps lifecycle tool that provides a Git repository
  7. manager providing wiki, issue-tracking, and CI/CD pipeline features, using
  8. an open-source license, developed by GitLab Inc.
  9. Project: https://about.gitlab.com/
  10. Documentation: https://docs.gitlab.com/
  11. version: 18.4.2-ce.0
  12. author: Christian Lempa
  13. date: '2025-10-08'
  14. tags:
  15. - git
  16. - ci-cd
  17. next_steps: |
  18. 1. Start GitLab:
  19. docker compose up -d
  20. 2. Wait for GitLab to initialize (this may take 2-5 minutes)
  21. 3. Access the web interface:
  22. {% if traefik_enabled -%}
  23. - Via Traefik: https://{{ traefik_host }}
  24. {% if ports_enabled %}- Direct access: http://localhost:{{ ports_http }}{% endif %}
  25. {%- else -%}
  26. - Open {{ external_url }} in your browser
  27. {% if ports_enabled %}- Or: http://localhost:{{ ports_http }}{% endif %}
  28. {%- endif %}
  29. 4. Initial login:
  30. - Username: root
  31. - Retrieve initial password:
  32. docker exec {{ container_name }} grep 'Password: ' /etc/gitlab/initial_root_password
  33. IMPORTANT: Change this password immediately after first login!
  34. For more information, visit: https://docs.gitlab.com/
  35. spec:
  36. general:
  37. vars:
  38. service_name:
  39. default: "gitlab"
  40. container_name:
  41. default: "gitlab"
  42. external_url:
  43. type: str
  44. description: External URL for GitLab
  45. default: http://localhost
  46. ports:
  47. vars:
  48. ports_http:
  49. type: int
  50. description: HTTP port
  51. default: 80
  52. ports_ssh:
  53. type: int
  54. description: SSH port
  55. default: 2424
  56. required: true
  57. ports_registry:
  58. type: int
  59. description: Container Registry port
  60. default: 5678
  61. traefik:
  62. vars:
  63. traefik_host:
  64. default: gitlab.home.arpa
  65. traefik_registry_host:
  66. default: registry.home.arpa
  67. type: str
  68. description: Hostname for Container Registry in Traefik (if enabled)
  69. registry:
  70. description: GitLab Container Registry configuration
  71. required: false
  72. toggle: registry_enabled
  73. vars:
  74. registry_enabled:
  75. type: bool
  76. description: Enable GitLab Container Registry
  77. default: false
  78. registry_external_url:
  79. type: str
  80. description: External URL for Container Registry
  81. default: http://localhost:2424
  82. advanced:
  83. title: Advanced Settings
  84. description: Performance tuning and advanced configuration options
  85. required: false
  86. vars:
  87. performance_preset:
  88. type: enum
  89. description: Performance optimization profile
  90. options:
  91. - homelab
  92. - default
  93. default: homelab
  94. extra: homelab is optimized for low-resource environments, default is for standard servers
  95. prometheus_enabled:
  96. type: bool
  97. description: Enable Prometheus monitoring
  98. default: false
  99. extra: Disabling saves ~200-400MB RAM. GitLab UI metrics will be unavailable.