template.yaml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. ---
  2. kind: compose
  3. metadata:
  4. icon:
  5. provider: selfh
  6. id: semaphore-ui
  7. name: Semaphore UI
  8. description: 'Modern UI for Ansible automation with task scheduling and web-based management.
  9. Semaphore provides a beautiful web interface to run Ansible playbooks, manage
  10. inventories, and schedule automated tasks. Perfect for teams who want a
  11. user-friendly way to execute and monitor Ansible automation.
  12. ## Prerequisites
  13. - :info: SemaphoreUI supports multiple database backends. You can choose between SQLite (default),
  14. PostgreSQL, or MySQL. SQLite is suitable for small deployments, while PostgreSQL and MySQL
  15. are recommended for larger installations.
  16. ## References
  17. - **Project:** https://www.semaphoreui.com/
  18. - **Documentation:** https://docs.semaphoreui.com/
  19. - **GitHub:** https://github.com/semaphoreui/semaphore'
  20. version: v2.16.47
  21. author: Christian Lempa
  22. date: '2025-12-17'
  23. tags:
  24. - traefik
  25. - database
  26. next_steps: 'Log in with your initial admin user:
  27. ```bash
  28. Username: {{ admin_user }}
  29. Password: {{ admin_pass }}
  30. ```'
  31. schema: '1.2'
  32. spec:
  33. general:
  34. vars:
  35. service_name:
  36. default: semaphoreui
  37. container_name:
  38. default: semaphoreui
  39. restart_policy:
  40. type: enum
  41. options:
  42. - unless-stopped
  43. - always
  44. - on-failure
  45. - 'no'
  46. default: unless-stopped
  47. required: true
  48. secret_key:
  49. description: Secret key for encrypting access keys
  50. type: str
  51. sensitive: true
  52. autogenerated: true
  53. required: true
  54. admin_user:
  55. description: Administrator username
  56. type: str
  57. required: true
  58. default: admin
  59. admin_name:
  60. description: Administrator full name
  61. type: str
  62. required: true
  63. default: Administrator
  64. admin_email:
  65. description: Administrator email address
  66. type: str
  67. required: true
  68. default: admin@home.arpa
  69. admin_pass:
  70. description: Administrator password
  71. type: str
  72. sensitive: true
  73. autogenerated: true
  74. required: true
  75. ansible_host_key_checking:
  76. description: Enable Ansible SSH host key checking
  77. type: bool
  78. ports:
  79. vars:
  80. ports_http:
  81. default: 3000
  82. traefik:
  83. vars:
  84. traefik_host:
  85. default: semaphoreui
  86. traefik_network:
  87. default: traefik
  88. type: str
  89. required: true
  90. traefik_domain:
  91. default: home.arpa
  92. type: str
  93. required: true
  94. traefik_enabled:
  95. type: bool
  96. default: false
  97. description: Enable Traefik integration
  98. traefik_tls:
  99. vars:
  100. traefik_tls_certresolver:
  101. type: str
  102. default: cloudflare
  103. required: true
  104. traefik_tls_enabled:
  105. type: bool
  106. default: false
  107. description: Enable Traefik TLS
  108. database:
  109. vars:
  110. database_type:
  111. options:
  112. - postgres
  113. - mysql
  114. default: mysql
  115. database_name:
  116. default: semaphore
  117. database_user:
  118. default: semaphore
  119. database_host:
  120. type: str
  121. required: true
  122. database_password:
  123. type: str
  124. sensitive: true
  125. required: true
  126. database_external:
  127. type: bool
  128. default: false
  129. description: Use external database