template.yaml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. - traefik
  16. next_steps: |
  17. 1. Start GitLab:
  18. docker compose up -d
  19. 2. Wait for GitLab to initialize (this may take 2-5 minutes)
  20. 3. Access the web interface:
  21. {% if traefik_enabled -%}
  22. - Via Traefik: https://{{ traefik_host }}
  23. {% if ports_enabled %}- Direct access: http://localhost:{{ ports_http }}{% endif %}
  24. {%- else -%}
  25. - Open {{ external_url }} in your browser
  26. {% if ports_enabled %}- Or: http://localhost:{{ ports_http }}{% endif %}
  27. {%- endif %}
  28. 4. Initial login:
  29. - Username: root
  30. - Retrieve initial password:
  31. docker exec {{ container_name }} grep 'Password: ' /etc/gitlab/initial_root_password
  32. IMPORTANT: Change this password immediately after first login!
  33. For more information, visit: https://docs.gitlab.com/
  34. spec:
  35. general:
  36. vars:
  37. service_name:
  38. default: "gitlab"
  39. container_name:
  40. default: "gitlab"
  41. external_url:
  42. type: str
  43. description: External URL for GitLab
  44. default: http://localhost
  45. ports:
  46. vars:
  47. ports_http:
  48. type: int
  49. description: HTTP port
  50. default: 80
  51. ports_ssh:
  52. type: int
  53. description: SSH port
  54. default: 2424
  55. required: true
  56. ports_registry:
  57. type: int
  58. description: Container Registry port
  59. default: 5678
  60. traefik:
  61. vars:
  62. traefik_host:
  63. default: gitlab.home.arpa
  64. traefik_registry_host:
  65. default: registry.home.arpa
  66. type: str
  67. description: Hostname for Container Registry in Traefik (if enabled)
  68. registry:
  69. description: GitLab Container Registry configuration
  70. required: false
  71. toggle: registry_enabled
  72. vars:
  73. registry_enabled:
  74. type: bool
  75. description: Enable GitLab Container Registry
  76. default: false
  77. registry_external_url:
  78. type: str
  79. description: External URL for Container Registry
  80. default: http://localhost:2424
  81. advanced:
  82. title: Advanced Settings
  83. description: Performance tuning and advanced configuration options
  84. required: false
  85. vars:
  86. performance_preset:
  87. type: enum
  88. description: Performance optimization profile
  89. options:
  90. - homelab
  91. - default
  92. default: homelab
  93. extra: homelab is optimized for low-resource environments, default is for standard servers
  94. prometheus_enabled:
  95. type: bool
  96. description: Enable Prometheus monitoring
  97. default: false
  98. extra: Disabling saves ~200-400MB RAM. GitLab UI metrics will be unavailable.