template.yaml 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. ---
  2. kind: compose
  3. metadata:
  4. name: Semaphore UI
  5. description: >
  6. Modern UI for Ansible automation with task scheduling and web-based management.
  7. Semaphore provides a beautiful web interface to run Ansible playbooks, manage
  8. inventories, and schedule automated tasks. Perfect for teams who want a
  9. user-friendly way to execute and monitor Ansible automation.
  10. Project: https://www.semaphoreui.com/
  11. Documentation: https://docs.semaphoreui.com/
  12. GitHub: https://github.com/semaphoreui/semaphore
  13. version: 2.16.18
  14. author: Christian Lempa
  15. date: '2025-10-02'
  16. tags:
  17. - ansible
  18. - automation
  19. - devops
  20. - infrastructure
  21. next_steps: |
  22. 1. Start Semaphore UI:
  23. docker compose up -d
  24. 2. Access the web interface:
  25. {% if traefik_enabled -%}
  26. - Via Traefik: https://{{ traefik_host }}
  27. {% if ports_enabled %}- Direct access: http://localhost:{{ ports_http }}{% endif %}
  28. {%- else -%}
  29. - Open http://localhost:{{ ports_http }} in your browser
  30. {%- endif %}
  31. 3. Login with your admin credentials:
  32. - Username: {{ semaphore_admin_name }}
  33. - Email: {{ semaphore_admin_email }}
  34. - Password: {{ semaphore_admin_password }}
  35. 4. Getting started:
  36. - Add SSH keys for accessing your managed hosts
  37. - Create your first project and link it to a Git repository
  38. - Add inventories (static or dynamic)
  39. - Create task templates from your Ansible playbooks
  40. - Schedule or run tasks on-demand
  41. 5. Security recommendations:
  42. - Change the admin password after first login
  43. - Enable two-factor authentication in user settings
  44. - Review user permissions and create additional users
  45. - Use SSH key authentication for Ansible connections
  46. For more information, visit: https://docs.semaphoreui.com/
  47. spec:
  48. general:
  49. vars:
  50. service_name:
  51. default: "semaphore"
  52. container_name:
  53. default: "semaphore"
  54. database:
  55. required: true
  56. vars:
  57. database_type:
  58. default: "mysql"
  59. database_name:
  60. default: "semaphore"
  61. database_user:
  62. default: "semaphore"
  63. ports:
  64. vars:
  65. ports_http:
  66. description: "Host port for web interface"
  67. type: int
  68. default: 3000
  69. traefik:
  70. vars:
  71. traefik_host:
  72. default: semaphoreui.home.arpa
  73. semaphore:
  74. description: "Configure Ansible Semaphore application settings"
  75. required: true
  76. vars:
  77. semaphore_admin_name:
  78. description: "Initial admin username"
  79. type: str
  80. default: "admin"
  81. semaphore_admin_email:
  82. description: "Admin email address"
  83. type: str
  84. default: "admin@home.arpa"
  85. semaphore_admin_password:
  86. description: "Initial admin password"
  87. extra: "Leave empty for auto-generated 20-character secure password"
  88. type: str
  89. default: ""
  90. sensitive: true
  91. autogenerated: true
  92. semaphore_access_key_encryption:
  93. description: "Encryption key for access keys storage"
  94. extra: "Leave empty for auto-generated 32-character secure key"
  95. type: str
  96. default: ""
  97. sensitive: true
  98. autogenerated: true
  99. semaphore_playbook_path:
  100. description: "Path for temporary playbook execution"
  101. type: str
  102. default: "/tmp/semaphore/"
  103. ansible_host_key_checking:
  104. description: "Enable Ansible SSH host key checking"
  105. type: bool
  106. default: false