v1.0.json 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. [
  2. {
  3. "key": "general",
  4. "title": "General",
  5. "required": true,
  6. "vars": [
  7. {
  8. "name": "service_name",
  9. "description": "Service name",
  10. "type": "str"
  11. },
  12. {
  13. "name": "container_name",
  14. "description": "Container name",
  15. "type": "str"
  16. },
  17. {
  18. "name": "container_timezone",
  19. "description": "Container timezone (e.g., Europe/Berlin)",
  20. "type": "str",
  21. "default": "UTC"
  22. },
  23. {
  24. "name": "user_uid",
  25. "description": "User UID for container process",
  26. "type": "int",
  27. "default": 1000
  28. },
  29. {
  30. "name": "user_gid",
  31. "description": "User GID for container process",
  32. "type": "int",
  33. "default": 1000
  34. },
  35. {
  36. "name": "restart_policy",
  37. "description": "Container restart policy",
  38. "type": "enum",
  39. "options": ["unless-stopped", "always", "on-failure", "no"],
  40. "default": "unless-stopped"
  41. }
  42. ]
  43. },
  44. {
  45. "key": "network",
  46. "title": "Network",
  47. "toggle": "network_enabled",
  48. "vars": [
  49. {
  50. "name": "network_enabled",
  51. "description": "Enable custom network block",
  52. "type": "bool",
  53. "default": false
  54. },
  55. {
  56. "name": "network_name",
  57. "description": "Docker network name",
  58. "type": "str",
  59. "default": "bridge"
  60. },
  61. {
  62. "name": "network_external",
  63. "description": "Use existing Docker network",
  64. "type": "bool",
  65. "default": true
  66. }
  67. ]
  68. },
  69. {
  70. "key": "ports",
  71. "title": "Ports",
  72. "toggle": "ports_enabled",
  73. "vars": [
  74. {
  75. "name": "ports_enabled",
  76. "description": "Expose ports via 'ports' mapping",
  77. "type": "bool",
  78. "default": true
  79. }
  80. ]
  81. },
  82. {
  83. "key": "traefik",
  84. "title": "Traefik",
  85. "toggle": "traefik_enabled",
  86. "description": "Traefik routes external traffic to your service.",
  87. "vars": [
  88. {
  89. "name": "traefik_enabled",
  90. "description": "Enable Traefik reverse proxy integration",
  91. "type": "bool",
  92. "default": false
  93. },
  94. {
  95. "name": "traefik_network",
  96. "description": "Traefik network name",
  97. "type": "str",
  98. "default": "traefik"
  99. },
  100. {
  101. "name": "traefik_host",
  102. "description": "Domain name for your service (e.g., app.example.com)",
  103. "type": "str"
  104. },
  105. {
  106. "name": "traefik_entrypoint",
  107. "description": "HTTP entrypoint (non-TLS)",
  108. "type": "str",
  109. "default": "web"
  110. }
  111. ]
  112. },
  113. {
  114. "key": "traefik_tls",
  115. "title": "Traefik TLS/SSL",
  116. "toggle": "traefik_tls_enabled",
  117. "needs": "traefik",
  118. "description": "Enable HTTPS/TLS for Traefik with certificate management.",
  119. "vars": [
  120. {
  121. "name": "traefik_tls_enabled",
  122. "description": "Enable HTTPS/TLS",
  123. "type": "bool",
  124. "default": true
  125. },
  126. {
  127. "name": "traefik_tls_entrypoint",
  128. "description": "TLS entrypoint",
  129. "type": "str",
  130. "default": "websecure"
  131. },
  132. {
  133. "name": "traefik_tls_certresolver",
  134. "description": "Traefik certificate resolver name",
  135. "type": "str",
  136. "default": "cloudflare"
  137. }
  138. ]
  139. },
  140. {
  141. "key": "swarm",
  142. "title": "Docker Swarm",
  143. "toggle": "swarm_enabled",
  144. "description": "Deploy service in Docker Swarm mode with replicas.",
  145. "vars": [
  146. {
  147. "name": "swarm_enabled",
  148. "description": "Enable Docker Swarm mode",
  149. "type": "bool",
  150. "default": false
  151. },
  152. {
  153. "name": "swarm_replicas",
  154. "description": "Number of replicas in Swarm",
  155. "type": "int",
  156. "default": 1
  157. },
  158. {
  159. "name": "swarm_placement_mode",
  160. "description": "Swarm placement mode",
  161. "type": "enum",
  162. "options": ["global", "replicated"],
  163. "default": "replicated"
  164. },
  165. {
  166. "name": "swarm_placement_host",
  167. "description": "Limit placement to specific node",
  168. "type": "str"
  169. }
  170. ]
  171. },
  172. {
  173. "key": "database",
  174. "title": "Database",
  175. "toggle": "database_enabled",
  176. "description": "Connect to external database (PostgreSQL or MySQL)",
  177. "vars": [
  178. {
  179. "name": "database_enabled",
  180. "description": "Enable external database integration",
  181. "type": "bool",
  182. "default": false
  183. },
  184. {
  185. "name": "database_type",
  186. "description": "Database type",
  187. "type": "enum",
  188. "options": ["postgres", "mysql"],
  189. "default": "postgres"
  190. },
  191. {
  192. "name": "database_external",
  193. "description": "Use an external database server?",
  194. "extra": "skips creation of internal database container",
  195. "type": "bool",
  196. "default": false
  197. },
  198. {
  199. "name": "database_host",
  200. "description": "Database host",
  201. "type": "str",
  202. "default": "database"
  203. },
  204. {
  205. "name": "database_port",
  206. "description": "Database port",
  207. "type": "int"
  208. },
  209. {
  210. "name": "database_name",
  211. "description": "Database name",
  212. "type": "str"
  213. },
  214. {
  215. "name": "database_user",
  216. "description": "Database user",
  217. "type": "str"
  218. },
  219. {
  220. "name": "database_password",
  221. "description": "Database password",
  222. "type": "str",
  223. "default": "",
  224. "sensitive": true,
  225. "autogenerated": true
  226. }
  227. ]
  228. }
  229. ]