template.yaml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. kind: compose
  2. metadata:
  3. icon:
  4. provider: selfh
  5. id: portainer
  6. name: Portainer
  7. description: 'Portainer is a powerful and user-friendly management tool for Docker
  8. and Kubernetes environments.
  9. It provides a simple web-based interface to manage containers, images, networks,
  10. and volumes,
  11. making it easier to deploy and monitor applications.
  12. ## References
  13. - **Project:** https://www.portainer.io/
  14. - **Documentation:** https://docs.portainer.io/
  15. - **GitHub:** https://github.com/portainer/portainer'
  16. version: 2.38.1-alpine
  17. author: Christian Lempa
  18. date: '2026-02-12'
  19. tags:
  20. - traefik
  21. - swarm
  22. - volumes
  23. schema: '1.2'
  24. spec:
  25. general:
  26. vars:
  27. service_name:
  28. default: portainer
  29. container_timezone:
  30. type: str
  31. restart_policy:
  32. type: enum
  33. options:
  34. - unless-stopped
  35. - always
  36. - on-failure
  37. - 'no'
  38. default: unless-stopped
  39. required: true
  40. ports:
  41. vars:
  42. ports_http:
  43. default: 9000
  44. ports_https:
  45. default: 9443
  46. ports_edge:
  47. description: Host port for Edge agent (8000)
  48. type: int
  49. default: 8000
  50. required: true
  51. traefik:
  52. vars:
  53. traefik_host:
  54. default: portainer
  55. traefik_network:
  56. default: traefik
  57. type: str
  58. required: true
  59. traefik_domain:
  60. default: home.arpa
  61. type: str
  62. required: true
  63. traefik_enabled:
  64. type: bool
  65. default: false
  66. description: Enable Traefik integration
  67. toggle: traefik_enabled
  68. title: Traefik
  69. description: Configure Traefik reverse proxy 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. toggle: traefik_tls_enabled
  81. title: Traefik TLS
  82. description: Configure Traefik TLS/SSL certificates
  83. needs: traefik
  84. volume:
  85. vars:
  86. volume_mode:
  87. type: enum
  88. options:
  89. - local
  90. - mount
  91. - nfs
  92. default: local
  93. required: true
  94. volume_mount_path:
  95. type: str
  96. default: /mnt/storage
  97. needs:
  98. - volume_mode=mount
  99. required: true
  100. volume_nfs_server:
  101. type: str
  102. default: 192.168.1.1
  103. needs:
  104. - volume_mode=nfs
  105. required: true
  106. volume_nfs_path:
  107. type: str
  108. default: /export
  109. needs:
  110. - volume_mode=nfs
  111. required: true
  112. volume_nfs_options:
  113. type: str
  114. default: rw,nolock,soft
  115. needs:
  116. - volume_mode=nfs
  117. required: true
  118. swarm:
  119. vars:
  120. swarm_placement_host:
  121. type: str
  122. description: Target hostname for placement constraint
  123. default: ''
  124. extra: Constrains service to run on specific node by hostname
  125. swarm_enabled:
  126. type: bool
  127. default: false
  128. description: Enable Docker Swarm mode
  129. swarm_placement_mode:
  130. type: str
  131. default: replicated
  132. description: The placement mode
  133. swarm_replicas:
  134. type: int
  135. default: 1
  136. description: The number of replicas
  137. toggle: swarm_enabled
  138. title: Docker Swarm
  139. description: Configure Docker Swarm mode deployment