template.yaml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. ---
  2. kind: compose
  3. metadata:
  4. name: Homepage
  5. description: 'Homepage is a modern, fully static, fast, secure fully customizable application dashboard with integrations
  6. for over 100 services and translations into multiple languages.
  7. Project: https://gethomepage.dev/
  8. Documentation: https://gethomepage.dev/latest/
  9. GitHub: https://github.com/gethomepage/homepage'
  10. version: v1.8.0
  11. author: Christian Lempa
  12. date: '2025-12-12'
  13. tags:
  14. - traefik
  15. - swarm
  16. - volume_modes
  17. icon:
  18. provider: simpleicons
  19. id: homepage
  20. draft: true
  21. next_steps: ''
  22. schema: '1.2'
  23. spec:
  24. general:
  25. vars:
  26. container_hostname:
  27. default: homepage
  28. container_name:
  29. default: homepage
  30. service_name:
  31. default: homepage
  32. container_timezone:
  33. type: str
  34. container_loglevel:
  35. type: enum
  36. options:
  37. - debug
  38. - info
  39. - warn
  40. - error
  41. restart_policy:
  42. type: enum
  43. options:
  44. - unless-stopped
  45. - always
  46. - on-failure
  47. - 'no'
  48. default: unless-stopped
  49. required: true
  50. ports:
  51. vars:
  52. ports_http:
  53. default: 3000
  54. traefik:
  55. vars:
  56. traefik_host:
  57. default: homepage
  58. traefik_network:
  59. default: traefik
  60. type: str
  61. required: true
  62. traefik_domain:
  63. default: home.arpa
  64. type: str
  65. required: true
  66. traefik_enabled:
  67. type: bool
  68. default: false
  69. description: Enable Traefik integration
  70. traefik_tls:
  71. vars:
  72. traefik_tls_certresolver:
  73. type: str
  74. default: cloudflare
  75. required: true
  76. traefik_tls_enabled:
  77. type: bool
  78. default: false
  79. description: Enable Traefik TLS
  80. volume:
  81. vars:
  82. volume_mode:
  83. type: enum
  84. options:
  85. - local
  86. - mount
  87. - nfs
  88. default: local
  89. required: true
  90. volume_mount_path:
  91. type: str
  92. default: /mnt/storage
  93. needs:
  94. - volume_mode=mount
  95. required: true
  96. volume_nfs_options:
  97. type: str
  98. default: nfsvers=4,soft,timeo=180,intr
  99. description: The NFS mount options
  100. volume_nfs_path:
  101. type: str
  102. default: ''
  103. description: The NFS path
  104. volume_nfs_server:
  105. type: str
  106. default: ''
  107. description: The NFS server
  108. resources:
  109. vars:
  110. resources_enabled:
  111. type: bool
  112. default: false
  113. resources_cpu_limit:
  114. type: str
  115. default: 1.0
  116. required: true
  117. resources_cpu_reservation:
  118. type: str
  119. default: 0.25
  120. needs:
  121. - swarm_enabled=true
  122. required: true
  123. resources_memory_limit:
  124. type: str
  125. default: 1G
  126. required: true
  127. resources_memory_reservation:
  128. type: str
  129. default: 512M
  130. needs:
  131. - swarm_enabled=true
  132. required: true
  133. swarm:
  134. vars:
  135. swarm_replicas:
  136. type: int
  137. default: 1
  138. needs:
  139. - swarm_placement_mode=replicated
  140. required: true
  141. swarm_placement_host:
  142. type: str
  143. default: ''
  144. needs:
  145. - swarm_placement_mode=replicated
  146. extra: Constrains service to run on specific node by hostname
  147. swarm_enabled:
  148. type: bool
  149. default: false
  150. description: Enable Docker Swarm mode
  151. swarm_placement_mode:
  152. type: str
  153. default: replicated
  154. description: The placement mode