@intlayer/docs 9.5.5 → 9.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (920) hide show
  1. package/README.md +0 -1
  2. package/blog/ar/i18next_vs_intlayer-i18next.md +122 -15
  3. package/blog/ar/i18next_vs_intlayer.md +130 -16
  4. package/blog/ar/lingui_vs_intlayer.md +122 -15
  5. package/blog/ar/next-intl_vs_intlayer-next-intl.md +124 -15
  6. package/blog/ar/next-intl_vs_intlayer.md +136 -20
  7. package/blog/ar/transform_existing_vite_react_app_using_compiler.md +4 -2
  8. package/blog/ar/vue-i18n_vs_intlayer-vue-i18n.md +119 -17
  9. package/blog/ar/vue-i18n_vs_intlayer.md +193 -31
  10. package/blog/ar/vue-i18n_vs_intlayer_benchmark.md +361 -0
  11. package/blog/de/i18next_vs_intlayer-i18next.md +122 -15
  12. package/blog/de/i18next_vs_intlayer.md +128 -14
  13. package/blog/de/lingui_vs_intlayer.md +122 -15
  14. package/blog/de/next-intl_vs_intlayer-next-intl.md +124 -15
  15. package/blog/de/next-intl_vs_intlayer.md +125 -15
  16. package/blog/de/transform_existing_vite_react_app_using_compiler.md +4 -2
  17. package/blog/de/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  18. package/blog/de/vue-i18n_vs_intlayer.md +193 -31
  19. package/blog/en/i18next_vs_intlayer-i18next.md +121 -14
  20. package/blog/en/i18next_vs_intlayer.md +128 -14
  21. package/blog/en/lingui_vs_intlayer.md +124 -15
  22. package/blog/en/next-intl_vs_intlayer-next-intl.md +123 -14
  23. package/blog/en/next-intl_vs_intlayer.md +125 -13
  24. package/blog/en/transform_existing_vite_react_app_using_compiler.md +4 -2
  25. package/blog/en/vue-i18n_vs_intlayer-vue-i18n.md +115 -15
  26. package/blog/en/vue-i18n_vs_intlayer.md +188 -27
  27. package/blog/en-GB/i18next_vs_intlayer-i18next.md +121 -14
  28. package/blog/en-GB/i18next_vs_intlayer.md +128 -14
  29. package/blog/en-GB/lingui_vs_intlayer.md +122 -15
  30. package/blog/en-GB/next-intl_vs_intlayer-next-intl.md +124 -15
  31. package/blog/en-GB/next-intl_vs_intlayer.md +125 -15
  32. package/blog/en-GB/transform_existing_vite_react_app_using_compiler.md +4 -2
  33. package/blog/en-GB/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  34. package/blog/en-GB/vue-i18n_vs_intlayer.md +187 -25
  35. package/blog/en-GB/vue-i18n_vs_intlayer_benchmark.md +116 -0
  36. package/blog/es/i18next_vs_intlayer-i18next.md +122 -15
  37. package/blog/es/i18next_vs_intlayer.md +128 -14
  38. package/blog/es/lingui_vs_intlayer.md +122 -15
  39. package/blog/es/next-intl_vs_intlayer-next-intl.md +124 -15
  40. package/blog/es/next-intl_vs_intlayer.md +125 -15
  41. package/blog/es/transform_existing_vite_react_app_using_compiler.md +4 -2
  42. package/blog/es/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  43. package/blog/es/vue-i18n_vs_intlayer.md +193 -31
  44. package/blog/fr/i18next_vs_intlayer-i18next.md +122 -15
  45. package/blog/fr/i18next_vs_intlayer.md +128 -14
  46. package/blog/fr/lingui_vs_intlayer.md +122 -15
  47. package/blog/fr/next-intl_vs_intlayer-next-intl.md +124 -15
  48. package/blog/fr/next-intl_vs_intlayer.md +127 -15
  49. package/blog/fr/transform_existing_vite_react_app_using_compiler.md +4 -2
  50. package/blog/fr/vue-i18n_vs_intlayer-vue-i18n.md +118 -17
  51. package/blog/fr/vue-i18n_vs_intlayer.md +192 -31
  52. package/blog/fr/vue-i18n_vs_intlayer_benchmark.md +329 -7
  53. package/blog/hi/i18next_vs_intlayer-i18next.md +122 -15
  54. package/blog/hi/i18next_vs_intlayer.md +130 -16
  55. package/blog/hi/lingui_vs_intlayer.md +122 -15
  56. package/blog/hi/next-intl_vs_intlayer-next-intl.md +124 -15
  57. package/blog/hi/next-intl_vs_intlayer.md +135 -19
  58. package/blog/hi/transform_existing_vite_react_app_using_compiler.md +4 -2
  59. package/blog/hi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  60. package/blog/hi/vue-i18n_vs_intlayer.md +193 -31
  61. package/blog/hi/vue-i18n_vs_intlayer_benchmark.md +361 -0
  62. package/blog/id/i18next_vs_intlayer-i18next.md +122 -15
  63. package/blog/id/i18next_vs_intlayer.md +128 -14
  64. package/blog/id/lingui_vs_intlayer.md +122 -15
  65. package/blog/id/next-intl_vs_intlayer-next-intl.md +124 -15
  66. package/blog/id/next-intl_vs_intlayer.md +135 -19
  67. package/blog/id/transform_existing_vite_react_app_using_compiler.md +4 -2
  68. package/blog/id/vue-i18n_vs_intlayer-vue-i18n.md +354 -2
  69. package/blog/id/vue-i18n_vs_intlayer.md +188 -26
  70. package/blog/id/vue-i18n_vs_intlayer_benchmark.md +327 -7
  71. package/blog/it/i18next_vs_intlayer-i18next.md +122 -15
  72. package/blog/it/i18next_vs_intlayer.md +128 -14
  73. package/blog/it/lingui_vs_intlayer.md +122 -15
  74. package/blog/it/next-intl_vs_intlayer-next-intl.md +124 -15
  75. package/blog/it/next-intl_vs_intlayer.md +125 -15
  76. package/blog/it/transform_existing_vite_react_app_using_compiler.md +4 -2
  77. package/blog/it/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  78. package/blog/it/vue-i18n_vs_intlayer.md +191 -31
  79. package/blog/it/vue-i18n_vs_intlayer_benchmark.md +332 -5
  80. package/blog/ja/i18next_vs_intlayer-i18next.md +122 -15
  81. package/blog/ja/i18next_vs_intlayer.md +129 -17
  82. package/blog/ja/lingui_vs_intlayer.md +122 -15
  83. package/blog/ja/next-intl_vs_intlayer-next-intl.md +124 -15
  84. package/blog/ja/next-intl_vs_intlayer.md +124 -14
  85. package/blog/ja/transform_existing_vite_react_app_using_compiler.md +4 -2
  86. package/blog/ja/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  87. package/blog/ja/vue-i18n_vs_intlayer.md +193 -31
  88. package/blog/ja/vue-i18n_vs_intlayer_benchmark.md +361 -0
  89. package/blog/ko/i18next_vs_intlayer-i18next.md +122 -15
  90. package/blog/ko/i18next_vs_intlayer.md +129 -17
  91. package/blog/ko/lingui_vs_intlayer.md +122 -15
  92. package/blog/ko/next-intl_vs_intlayer-next-intl.md +124 -15
  93. package/blog/ko/next-intl_vs_intlayer.md +134 -18
  94. package/blog/ko/transform_existing_vite_react_app_using_compiler.md +4 -2
  95. package/blog/ko/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  96. package/blog/ko/vue-i18n_vs_intlayer.md +193 -31
  97. package/blog/pl/i18next_vs_intlayer-i18next.md +122 -15
  98. package/blog/pl/i18next_vs_intlayer.md +128 -14
  99. package/blog/pl/lingui_vs_intlayer.md +122 -15
  100. package/blog/pl/next-intl_vs_intlayer-next-intl.md +124 -15
  101. package/blog/pl/next-intl_vs_intlayer.md +134 -18
  102. package/blog/pl/transform_existing_vite_react_app_using_compiler.md +4 -2
  103. package/blog/pl/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  104. package/blog/pl/vue-i18n_vs_intlayer.md +188 -26
  105. package/blog/pl/vue-i18n_vs_intlayer_benchmark.md +361 -0
  106. package/blog/pt/i18next_vs_intlayer-i18next.md +122 -15
  107. package/blog/pt/i18next_vs_intlayer.md +128 -14
  108. package/blog/pt/lingui_vs_intlayer.md +122 -15
  109. package/blog/pt/next-intl_vs_intlayer-next-intl.md +124 -15
  110. package/blog/pt/next-intl_vs_intlayer.md +131 -15
  111. package/blog/pt/transform_existing_vite_react_app_using_compiler.md +4 -2
  112. package/blog/pt/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  113. package/blog/pt/vue-i18n_vs_intlayer.md +193 -31
  114. package/blog/pt/vue-i18n_vs_intlayer_benchmark.md +361 -0
  115. package/blog/ru/i18next_vs_intlayer-i18next.md +122 -15
  116. package/blog/ru/i18next_vs_intlayer.md +130 -16
  117. package/blog/ru/lingui_vs_intlayer.md +122 -15
  118. package/blog/ru/next-intl_vs_intlayer-next-intl.md +125 -16
  119. package/blog/ru/next-intl_vs_intlayer.md +123 -13
  120. package/blog/ru/transform_existing_vite_react_app_using_compiler.md +4 -2
  121. package/blog/ru/vue-i18n_vs_intlayer-vue-i18n.md +127 -27
  122. package/blog/ru/vue-i18n_vs_intlayer.md +193 -31
  123. package/blog/ru/vue-i18n_vs_intlayer_benchmark.md +326 -19
  124. package/blog/tr/i18next_vs_intlayer-i18next.md +122 -15
  125. package/blog/tr/i18next_vs_intlayer.md +128 -14
  126. package/blog/tr/lingui_vs_intlayer.md +122 -15
  127. package/blog/tr/next-intl_vs_intlayer-next-intl.md +124 -15
  128. package/blog/tr/next-intl_vs_intlayer.md +136 -20
  129. package/blog/tr/transform_existing_vite_react_app_using_compiler.md +4 -2
  130. package/blog/tr/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  131. package/blog/tr/vue-i18n_vs_intlayer.md +188 -26
  132. package/blog/tr/vue-i18n_vs_intlayer_benchmark.md +361 -0
  133. package/blog/uk/i18next_vs_intlayer-i18next.md +122 -15
  134. package/blog/uk/i18next_vs_intlayer.md +130 -16
  135. package/blog/uk/lingui_vs_intlayer.md +122 -15
  136. package/blog/uk/next-intl_vs_intlayer-next-intl.md +124 -15
  137. package/blog/uk/next-intl_vs_intlayer.md +135 -19
  138. package/blog/uk/transform_existing_vite_react_app_using_compiler.md +4 -2
  139. package/blog/uk/vue-i18n_vs_intlayer-vue-i18n.md +135 -17
  140. package/blog/uk/vue-i18n_vs_intlayer.md +188 -27
  141. package/blog/uk/vue-i18n_vs_intlayer_benchmark.md +361 -0
  142. package/blog/vi/i18next_vs_intlayer-i18next.md +122 -15
  143. package/blog/vi/i18next_vs_intlayer.md +128 -14
  144. package/blog/vi/lingui_vs_intlayer.md +122 -15
  145. package/blog/vi/next-intl_vs_intlayer-next-intl.md +124 -15
  146. package/blog/vi/next-intl_vs_intlayer.md +135 -19
  147. package/blog/vi/transform_existing_vite_react_app_using_compiler.md +4 -2
  148. package/blog/vi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  149. package/blog/vi/vue-i18n_vs_intlayer.md +188 -26
  150. package/blog/vi/vue-i18n_vs_intlayer_benchmark.md +361 -0
  151. package/blog/zh/i18next_vs_intlayer-i18next.md +122 -15
  152. package/blog/zh/i18next_vs_intlayer.md +128 -14
  153. package/blog/zh/lingui_vs_intlayer.md +122 -15
  154. package/blog/zh/next-intl_vs_intlayer-next-intl.md +124 -15
  155. package/blog/zh/next-intl_vs_intlayer.md +125 -15
  156. package/blog/zh/transform_existing_vite_react_app_using_compiler.md +4 -2
  157. package/blog/zh/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  158. package/blog/zh/vue-i18n_vs_intlayer.md +192 -31
  159. package/blog/zh/vue-i18n_vs_intlayer_benchmark.md +340 -9
  160. package/dist/cjs/generated/docs.entry.cjs +40 -40
  161. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  162. package/dist/cjs/index.cjs +2 -2
  163. package/dist/esm/generated/docs.entry.mjs +40 -40
  164. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  165. package/dist/esm/index.mjs +2 -2
  166. package/dist/types/generated/docs.entry.d.ts +2 -2
  167. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  168. package/docs/ar/benchmark/nextjs.md +13 -13
  169. package/docs/ar/benchmark/solid.md +5 -5
  170. package/docs/ar/benchmark/svelte.md +4 -4
  171. package/docs/ar/benchmark/tanstack.md +14 -13
  172. package/docs/ar/benchmark/vue.md +5 -5
  173. package/docs/ar/chrome_extension.md +130 -0
  174. package/docs/ar/cli/index.md +6 -1
  175. package/docs/ar/cli/infra.md +162 -0
  176. package/docs/ar/cli/init.md +24 -1
  177. package/docs/ar/dictionary/html.md +173 -5
  178. package/docs/ar/dictionary/markdown.md +263 -1
  179. package/docs/ar/intlayer_with_analog.md +23 -1
  180. package/docs/ar/intlayer_with_angular_19.md +24 -1
  181. package/docs/ar/intlayer_with_angular_21.md +24 -1
  182. package/docs/ar/intlayer_with_astro.md +42 -32
  183. package/docs/ar/intlayer_with_astro_lit.md +56 -36
  184. package/docs/ar/intlayer_with_astro_preact.md +57 -36
  185. package/docs/ar/intlayer_with_astro_react.md +57 -36
  186. package/docs/ar/intlayer_with_astro_solid.md +57 -36
  187. package/docs/ar/intlayer_with_astro_svelte.md +56 -36
  188. package/docs/ar/intlayer_with_astro_vue.md +56 -36
  189. package/docs/ar/intlayer_with_react_router_v7.md +12 -1
  190. package/docs/ar/intlayer_with_remix_3.md +22 -1
  191. package/docs/ar/intlayer_with_solid_start.md +14 -7
  192. package/docs/ar/intlayer_with_svelte_kit.md +12 -1
  193. package/docs/ar/intlayer_with_tanstack+solid.md +13 -2
  194. package/docs/ar/intlayer_with_tanstack.md +13 -6
  195. package/docs/ar/intlayer_with_vite+lit.md +75 -3
  196. package/docs/ar/intlayer_with_vite+preact.md +27 -19
  197. package/docs/ar/intlayer_with_vite+react.md +27 -19
  198. package/docs/ar/intlayer_with_vite+solid.md +27 -19
  199. package/docs/ar/intlayer_with_vite+svelte.md +27 -19
  200. package/docs/ar/intlayer_with_vite+vanilla.md +16 -3
  201. package/docs/ar/intlayer_with_vite+vue.md +27 -19
  202. package/docs/ar/introduction.md +0 -1
  203. package/docs/ar/readme.md +0 -1
  204. package/docs/ar/releases/v8.md +1 -5
  205. package/docs/ar/self_hosting.md +406 -231
  206. package/docs/bn/intlayer_with_vite+lit.md +75 -3
  207. package/docs/bn/intlayer_with_vite+vanilla.md +16 -3
  208. package/docs/bn/introduction.md +0 -1
  209. package/docs/cs/intlayer_with_vite+lit.md +75 -3
  210. package/docs/cs/intlayer_with_vite+vanilla.md +16 -3
  211. package/docs/cs/introduction.md +0 -1
  212. package/docs/de/benchmark/nextjs.md +13 -13
  213. package/docs/de/benchmark/solid.md +5 -5
  214. package/docs/de/benchmark/svelte.md +4 -4
  215. package/docs/de/benchmark/tanstack.md +14 -13
  216. package/docs/de/benchmark/vue.md +5 -5
  217. package/docs/de/chrome_extension.md +130 -0
  218. package/docs/de/cli/index.md +6 -1
  219. package/docs/de/cli/infra.md +162 -0
  220. package/docs/de/cli/init.md +24 -1
  221. package/docs/de/dictionary/html.md +173 -5
  222. package/docs/de/dictionary/markdown.md +263 -1
  223. package/docs/de/intlayer_with_analog.md +23 -1
  224. package/docs/de/intlayer_with_angular_19.md +24 -1
  225. package/docs/de/intlayer_with_angular_21.md +24 -1
  226. package/docs/de/intlayer_with_astro.md +35 -25
  227. package/docs/de/intlayer_with_astro_lit.md +47 -27
  228. package/docs/de/intlayer_with_astro_preact.md +48 -27
  229. package/docs/de/intlayer_with_astro_react.md +48 -27
  230. package/docs/de/intlayer_with_astro_solid.md +48 -27
  231. package/docs/de/intlayer_with_astro_svelte.md +47 -27
  232. package/docs/de/intlayer_with_astro_vue.md +47 -27
  233. package/docs/de/intlayer_with_react_router_v7.md +12 -1
  234. package/docs/de/intlayer_with_remix_3.md +22 -1
  235. package/docs/de/intlayer_with_solid_start.md +14 -7
  236. package/docs/de/intlayer_with_svelte_kit.md +12 -1
  237. package/docs/de/intlayer_with_tanstack+solid.md +13 -2
  238. package/docs/de/intlayer_with_tanstack.md +13 -6
  239. package/docs/de/intlayer_with_vite+lit.md +75 -3
  240. package/docs/de/intlayer_with_vite+preact.md +16 -3
  241. package/docs/de/intlayer_with_vite+react.md +16 -3
  242. package/docs/de/intlayer_with_vite+solid.md +16 -3
  243. package/docs/de/intlayer_with_vite+svelte.md +16 -3
  244. package/docs/de/intlayer_with_vite+vanilla.md +16 -3
  245. package/docs/de/intlayer_with_vite+vue.md +16 -3
  246. package/docs/de/introduction.md +0 -1
  247. package/docs/de/readme.md +0 -1
  248. package/docs/de/releases/v8.md +1 -5
  249. package/docs/de/self_hosting.md +404 -227
  250. package/docs/en/benchmark/nextjs.md +13 -13
  251. package/docs/en/benchmark/solid.md +5 -5
  252. package/docs/en/benchmark/svelte.md +4 -4
  253. package/docs/en/benchmark/tanstack.md +14 -13
  254. package/docs/en/benchmark/vue.md +5 -5
  255. package/docs/en/chrome_extension.md +130 -0
  256. package/docs/en/cli/index.md +6 -1
  257. package/docs/en/cli/infra.md +175 -0
  258. package/docs/en/cli/init.md +25 -1
  259. package/docs/en/dictionary/html.md +173 -5
  260. package/docs/en/dictionary/markdown.md +263 -1
  261. package/docs/en/intlayer_with_analog.md +23 -1
  262. package/docs/en/intlayer_with_angular_19.md +24 -1
  263. package/docs/en/intlayer_with_angular_21.md +24 -1
  264. package/docs/en/intlayer_with_astro.md +29 -21
  265. package/docs/en/intlayer_with_astro_lit.md +46 -26
  266. package/docs/en/intlayer_with_astro_preact.md +47 -26
  267. package/docs/en/intlayer_with_astro_react.md +47 -26
  268. package/docs/en/intlayer_with_astro_solid.md +47 -26
  269. package/docs/en/intlayer_with_astro_svelte.md +46 -26
  270. package/docs/en/intlayer_with_astro_vue.md +46 -26
  271. package/docs/en/intlayer_with_react_router_v7.md +12 -1
  272. package/docs/en/intlayer_with_remix_3.md +22 -1
  273. package/docs/en/intlayer_with_solid_start.md +14 -7
  274. package/docs/en/intlayer_with_svelte_kit.md +12 -1
  275. package/docs/en/intlayer_with_tanstack+solid.md +13 -2
  276. package/docs/en/intlayer_with_tanstack.md +12 -5
  277. package/docs/en/intlayer_with_vite+lit.md +75 -3
  278. package/docs/en/intlayer_with_vite+preact.md +16 -3
  279. package/docs/en/intlayer_with_vite+react.md +16 -3
  280. package/docs/en/intlayer_with_vite+solid.md +16 -3
  281. package/docs/en/intlayer_with_vite+svelte.md +16 -3
  282. package/docs/en/intlayer_with_vite+vanilla.md +16 -3
  283. package/docs/en/intlayer_with_vite+vue.md +16 -3
  284. package/docs/en/introduction.md +0 -1
  285. package/docs/en/readme.md +0 -1
  286. package/docs/en/releases/v8.md +1 -5
  287. package/docs/en/self_hosting.md +418 -176
  288. package/docs/en-GB/benchmark/nextjs.md +13 -13
  289. package/docs/en-GB/benchmark/solid.md +5 -5
  290. package/docs/en-GB/benchmark/svelte.md +4 -4
  291. package/docs/en-GB/benchmark/tanstack.md +14 -13
  292. package/docs/en-GB/benchmark/vue.md +5 -5
  293. package/docs/en-GB/chrome_extension.md +130 -0
  294. package/docs/en-GB/cli/index.md +6 -1
  295. package/docs/en-GB/cli/infra.md +162 -0
  296. package/docs/en-GB/cli/init.md +24 -1
  297. package/docs/en-GB/dictionary/html.md +173 -5
  298. package/docs/en-GB/dictionary/markdown.md +263 -1
  299. package/docs/en-GB/intlayer_with_analog.md +23 -1
  300. package/docs/en-GB/intlayer_with_angular_19.md +24 -1
  301. package/docs/en-GB/intlayer_with_angular_21.md +24 -1
  302. package/docs/en-GB/intlayer_with_astro.md +35 -25
  303. package/docs/en-GB/intlayer_with_astro_lit.md +47 -27
  304. package/docs/en-GB/intlayer_with_astro_preact.md +48 -27
  305. package/docs/en-GB/intlayer_with_astro_react.md +48 -27
  306. package/docs/en-GB/intlayer_with_astro_solid.md +48 -27
  307. package/docs/en-GB/intlayer_with_astro_svelte.md +47 -27
  308. package/docs/en-GB/intlayer_with_astro_vue.md +47 -27
  309. package/docs/en-GB/intlayer_with_react_router_v7.md +12 -1
  310. package/docs/en-GB/intlayer_with_remix_3.md +22 -1
  311. package/docs/en-GB/intlayer_with_solid_start.md +14 -7
  312. package/docs/en-GB/intlayer_with_svelte_kit.md +12 -1
  313. package/docs/en-GB/intlayer_with_tanstack+solid.md +13 -2
  314. package/docs/en-GB/intlayer_with_tanstack.md +13 -6
  315. package/docs/en-GB/intlayer_with_vite+lit.md +75 -3
  316. package/docs/en-GB/intlayer_with_vite+preact.md +16 -3
  317. package/docs/en-GB/intlayer_with_vite+react.md +16 -3
  318. package/docs/en-GB/intlayer_with_vite+solid.md +25 -15
  319. package/docs/en-GB/intlayer_with_vite+svelte.md +16 -3
  320. package/docs/en-GB/intlayer_with_vite+vanilla.md +16 -3
  321. package/docs/en-GB/intlayer_with_vite+vue.md +16 -3
  322. package/docs/en-GB/introduction.md +0 -1
  323. package/docs/en-GB/readme.md +0 -1
  324. package/docs/en-GB/releases/v8.md +1 -5
  325. package/docs/en-GB/self_hosting.md +381 -206
  326. package/docs/es/benchmark/nextjs.md +13 -13
  327. package/docs/es/benchmark/solid.md +5 -5
  328. package/docs/es/benchmark/svelte.md +4 -4
  329. package/docs/es/benchmark/tanstack.md +14 -13
  330. package/docs/es/benchmark/vue.md +5 -5
  331. package/docs/es/chrome_extension.md +130 -0
  332. package/docs/es/cli/index.md +6 -1
  333. package/docs/es/cli/infra.md +162 -0
  334. package/docs/es/cli/init.md +24 -1
  335. package/docs/es/dictionary/html.md +173 -5
  336. package/docs/es/dictionary/markdown.md +263 -1
  337. package/docs/es/intlayer_with_analog.md +23 -1
  338. package/docs/es/intlayer_with_angular_19.md +24 -1
  339. package/docs/es/intlayer_with_angular_21.md +24 -1
  340. package/docs/es/intlayer_with_astro.md +35 -25
  341. package/docs/es/intlayer_with_astro_lit.md +47 -27
  342. package/docs/es/intlayer_with_astro_preact.md +48 -27
  343. package/docs/es/intlayer_with_astro_react.md +48 -27
  344. package/docs/es/intlayer_with_astro_solid.md +48 -27
  345. package/docs/es/intlayer_with_astro_svelte.md +47 -27
  346. package/docs/es/intlayer_with_astro_vue.md +47 -27
  347. package/docs/es/intlayer_with_react_router_v7.md +12 -1
  348. package/docs/es/intlayer_with_remix_3.md +22 -1
  349. package/docs/es/intlayer_with_solid_start.md +14 -7
  350. package/docs/es/intlayer_with_svelte_kit.md +12 -1
  351. package/docs/es/intlayer_with_tanstack+solid.md +13 -2
  352. package/docs/es/intlayer_with_tanstack.md +13 -6
  353. package/docs/es/intlayer_with_vite+lit.md +75 -3
  354. package/docs/es/intlayer_with_vite+preact.md +16 -3
  355. package/docs/es/intlayer_with_vite+react.md +16 -3
  356. package/docs/es/intlayer_with_vite+solid.md +16 -3
  357. package/docs/es/intlayer_with_vite+svelte.md +16 -3
  358. package/docs/es/intlayer_with_vite+vanilla.md +16 -3
  359. package/docs/es/intlayer_with_vite+vue.md +16 -3
  360. package/docs/es/introduction.md +0 -1
  361. package/docs/es/readme.md +0 -1
  362. package/docs/es/releases/v8.md +1 -5
  363. package/docs/es/self_hosting.md +400 -223
  364. package/docs/fr/benchmark/nextjs.md +13 -13
  365. package/docs/fr/benchmark/solid.md +5 -5
  366. package/docs/fr/benchmark/svelte.md +4 -4
  367. package/docs/fr/benchmark/tanstack.md +14 -13
  368. package/docs/fr/benchmark/vue.md +5 -5
  369. package/docs/fr/chrome_extension.md +130 -0
  370. package/docs/fr/cli/index.md +6 -1
  371. package/docs/fr/cli/infra.md +162 -0
  372. package/docs/fr/cli/init.md +24 -1
  373. package/docs/fr/dictionary/html.md +173 -5
  374. package/docs/fr/dictionary/markdown.md +265 -4
  375. package/docs/fr/intlayer_with_analog.md +23 -1
  376. package/docs/fr/intlayer_with_angular_19.md +24 -1
  377. package/docs/fr/intlayer_with_angular_21.md +24 -1
  378. package/docs/fr/intlayer_with_astro.md +36 -26
  379. package/docs/fr/intlayer_with_astro_lit.md +48 -28
  380. package/docs/fr/intlayer_with_astro_preact.md +49 -28
  381. package/docs/fr/intlayer_with_astro_react.md +49 -28
  382. package/docs/fr/intlayer_with_astro_solid.md +49 -28
  383. package/docs/fr/intlayer_with_astro_svelte.md +48 -28
  384. package/docs/fr/intlayer_with_astro_vue.md +48 -28
  385. package/docs/fr/intlayer_with_react_router_v7.md +15 -4
  386. package/docs/fr/intlayer_with_remix_3.md +22 -1
  387. package/docs/fr/intlayer_with_solid_start.md +14 -7
  388. package/docs/fr/intlayer_with_svelte_kit.md +15 -4
  389. package/docs/fr/intlayer_with_tanstack+solid.md +15 -4
  390. package/docs/fr/intlayer_with_tanstack.md +13 -6
  391. package/docs/fr/intlayer_with_vite+lit.md +75 -3
  392. package/docs/fr/intlayer_with_vite+preact.md +19 -6
  393. package/docs/fr/intlayer_with_vite+react.md +19 -6
  394. package/docs/fr/intlayer_with_vite+solid.md +19 -6
  395. package/docs/fr/intlayer_with_vite+svelte.md +19 -6
  396. package/docs/fr/intlayer_with_vite+vanilla.md +19 -6
  397. package/docs/fr/intlayer_with_vite+vue.md +19 -6
  398. package/docs/fr/introduction.md +0 -1
  399. package/docs/fr/readme.md +0 -1
  400. package/docs/fr/releases/v8.md +1 -5
  401. package/docs/fr/self_hosting.md +401 -224
  402. package/docs/hi/benchmark/nextjs.md +13 -13
  403. package/docs/hi/benchmark/solid.md +5 -5
  404. package/docs/hi/benchmark/svelte.md +4 -4
  405. package/docs/hi/benchmark/tanstack.md +14 -13
  406. package/docs/hi/benchmark/vue.md +5 -5
  407. package/docs/hi/chrome_extension.md +130 -0
  408. package/docs/hi/cli/index.md +6 -1
  409. package/docs/hi/cli/infra.md +162 -0
  410. package/docs/hi/cli/init.md +24 -1
  411. package/docs/hi/dictionary/html.md +173 -5
  412. package/docs/hi/dictionary/markdown.md +263 -1
  413. package/docs/hi/intlayer_with_analog.md +23 -1
  414. package/docs/hi/intlayer_with_angular_19.md +24 -1
  415. package/docs/hi/intlayer_with_angular_21.md +24 -1
  416. package/docs/hi/intlayer_with_astro.md +38 -31
  417. package/docs/hi/intlayer_with_astro_lit.md +50 -33
  418. package/docs/hi/intlayer_with_astro_preact.md +51 -33
  419. package/docs/hi/intlayer_with_astro_react.md +51 -33
  420. package/docs/hi/intlayer_with_astro_solid.md +51 -33
  421. package/docs/hi/intlayer_with_astro_svelte.md +50 -33
  422. package/docs/hi/intlayer_with_astro_vue.md +50 -33
  423. package/docs/hi/intlayer_with_react_router_v7.md +20 -12
  424. package/docs/hi/intlayer_with_remix_3.md +22 -1
  425. package/docs/hi/intlayer_with_solid_start.md +14 -7
  426. package/docs/hi/intlayer_with_svelte_kit.md +20 -12
  427. package/docs/hi/intlayer_with_tanstack+solid.md +13 -2
  428. package/docs/hi/intlayer_with_tanstack.md +21 -17
  429. package/docs/hi/intlayer_with_vite+lit.md +75 -3
  430. package/docs/hi/intlayer_with_vite+preact.md +24 -14
  431. package/docs/hi/intlayer_with_vite+react.md +24 -14
  432. package/docs/hi/intlayer_with_vite+solid.md +24 -14
  433. package/docs/hi/intlayer_with_vite+svelte.md +24 -14
  434. package/docs/hi/intlayer_with_vite+vanilla.md +16 -3
  435. package/docs/hi/intlayer_with_vite+vue.md +24 -14
  436. package/docs/hi/introduction.md +0 -1
  437. package/docs/hi/readme.md +0 -1
  438. package/docs/hi/releases/v8.md +1 -5
  439. package/docs/hi/self_hosting.md +409 -235
  440. package/docs/id/benchmark/nextjs.md +13 -13
  441. package/docs/id/benchmark/solid.md +5 -5
  442. package/docs/id/benchmark/svelte.md +4 -4
  443. package/docs/id/benchmark/tanstack.md +14 -13
  444. package/docs/id/benchmark/vue.md +5 -5
  445. package/docs/id/chrome_extension.md +130 -0
  446. package/docs/id/cli/index.md +6 -1
  447. package/docs/id/cli/infra.md +162 -0
  448. package/docs/id/cli/init.md +24 -1
  449. package/docs/id/dictionary/html.md +173 -5
  450. package/docs/id/dictionary/markdown.md +263 -1
  451. package/docs/id/intlayer_with_analog.md +23 -1
  452. package/docs/id/intlayer_with_angular_19.md +24 -1
  453. package/docs/id/intlayer_with_angular_21.md +24 -1
  454. package/docs/id/intlayer_with_astro.md +35 -25
  455. package/docs/id/intlayer_with_astro_lit.md +47 -27
  456. package/docs/id/intlayer_with_astro_preact.md +48 -27
  457. package/docs/id/intlayer_with_astro_react.md +48 -27
  458. package/docs/id/intlayer_with_astro_solid.md +48 -27
  459. package/docs/id/intlayer_with_astro_svelte.md +47 -27
  460. package/docs/id/intlayer_with_astro_vue.md +47 -27
  461. package/docs/id/intlayer_with_react_router_v7.md +12 -1
  462. package/docs/id/intlayer_with_remix_3.md +22 -1
  463. package/docs/id/intlayer_with_solid_start.md +14 -7
  464. package/docs/id/intlayer_with_svelte_kit.md +12 -1
  465. package/docs/id/intlayer_with_tanstack+solid.md +13 -2
  466. package/docs/id/intlayer_with_tanstack.md +13 -6
  467. package/docs/id/intlayer_with_vite+lit.md +75 -3
  468. package/docs/id/intlayer_with_vite+preact.md +16 -3
  469. package/docs/id/intlayer_with_vite+react.md +16 -3
  470. package/docs/id/intlayer_with_vite+solid.md +16 -3
  471. package/docs/id/intlayer_with_vite+svelte.md +16 -3
  472. package/docs/id/intlayer_with_vite+vanilla.md +16 -3
  473. package/docs/id/intlayer_with_vite+vue.md +16 -3
  474. package/docs/id/introduction.md +0 -1
  475. package/docs/id/readme.md +0 -1
  476. package/docs/id/releases/v8.md +1 -5
  477. package/docs/id/self_hosting.md +416 -243
  478. package/docs/it/benchmark/nextjs.md +13 -13
  479. package/docs/it/benchmark/solid.md +5 -5
  480. package/docs/it/benchmark/svelte.md +4 -4
  481. package/docs/it/benchmark/tanstack.md +14 -13
  482. package/docs/it/benchmark/vue.md +5 -5
  483. package/docs/it/chrome_extension.md +130 -0
  484. package/docs/it/cli/index.md +6 -1
  485. package/docs/it/cli/infra.md +162 -0
  486. package/docs/it/cli/init.md +24 -1
  487. package/docs/it/dictionary/html.md +173 -5
  488. package/docs/it/dictionary/markdown.md +263 -1
  489. package/docs/it/intlayer_with_analog.md +23 -1
  490. package/docs/it/intlayer_with_angular_19.md +24 -1
  491. package/docs/it/intlayer_with_angular_21.md +24 -1
  492. package/docs/it/intlayer_with_astro.md +35 -25
  493. package/docs/it/intlayer_with_astro_lit.md +47 -27
  494. package/docs/it/intlayer_with_astro_preact.md +48 -27
  495. package/docs/it/intlayer_with_astro_react.md +48 -27
  496. package/docs/it/intlayer_with_astro_solid.md +48 -27
  497. package/docs/it/intlayer_with_astro_svelte.md +47 -27
  498. package/docs/it/intlayer_with_astro_vue.md +47 -27
  499. package/docs/it/intlayer_with_react_router_v7.md +12 -1
  500. package/docs/it/intlayer_with_remix_3.md +22 -1
  501. package/docs/it/intlayer_with_solid_start.md +14 -7
  502. package/docs/it/intlayer_with_svelte_kit.md +12 -1
  503. package/docs/it/intlayer_with_tanstack+solid.md +13 -2
  504. package/docs/it/intlayer_with_tanstack.md +13 -6
  505. package/docs/it/intlayer_with_vite+lit.md +75 -3
  506. package/docs/it/intlayer_with_vite+preact.md +16 -3
  507. package/docs/it/intlayer_with_vite+react.md +16 -3
  508. package/docs/it/intlayer_with_vite+solid.md +16 -3
  509. package/docs/it/intlayer_with_vite+svelte.md +16 -3
  510. package/docs/it/intlayer_with_vite+vanilla.md +16 -3
  511. package/docs/it/intlayer_with_vite+vue.md +16 -3
  512. package/docs/it/introduction.md +0 -1
  513. package/docs/it/readme.md +0 -1
  514. package/docs/it/releases/v8.md +1 -5
  515. package/docs/it/self_hosting.md +412 -237
  516. package/docs/ja/benchmark/nextjs.md +13 -13
  517. package/docs/ja/benchmark/solid.md +5 -5
  518. package/docs/ja/benchmark/svelte.md +4 -4
  519. package/docs/ja/benchmark/tanstack.md +13 -12
  520. package/docs/ja/benchmark/vue.md +5 -5
  521. package/docs/ja/chrome_extension.md +130 -0
  522. package/docs/ja/cli/index.md +6 -1
  523. package/docs/ja/cli/infra.md +162 -0
  524. package/docs/ja/cli/init.md +24 -1
  525. package/docs/ja/dictionary/html.md +173 -5
  526. package/docs/ja/dictionary/markdown.md +263 -1
  527. package/docs/ja/intlayer_with_analog.md +23 -1
  528. package/docs/ja/intlayer_with_angular_19.md +24 -1
  529. package/docs/ja/intlayer_with_angular_21.md +24 -1
  530. package/docs/ja/intlayer_with_astro.md +35 -25
  531. package/docs/ja/intlayer_with_astro_lit.md +47 -27
  532. package/docs/ja/intlayer_with_astro_preact.md +48 -27
  533. package/docs/ja/intlayer_with_astro_react.md +48 -27
  534. package/docs/ja/intlayer_with_astro_solid.md +48 -27
  535. package/docs/ja/intlayer_with_astro_svelte.md +47 -27
  536. package/docs/ja/intlayer_with_astro_vue.md +47 -27
  537. package/docs/ja/intlayer_with_react_router_v7.md +12 -1
  538. package/docs/ja/intlayer_with_remix_3.md +22 -1
  539. package/docs/ja/intlayer_with_solid_start.md +14 -7
  540. package/docs/ja/intlayer_with_svelte_kit.md +21 -15
  541. package/docs/ja/intlayer_with_tanstack+solid.md +13 -2
  542. package/docs/ja/intlayer_with_tanstack.md +13 -6
  543. package/docs/ja/intlayer_with_vite+lit.md +75 -3
  544. package/docs/ja/intlayer_with_vite+preact.md +16 -3
  545. package/docs/ja/intlayer_with_vite+react.md +16 -3
  546. package/docs/ja/intlayer_with_vite+solid.md +16 -3
  547. package/docs/ja/intlayer_with_vite+svelte.md +16 -3
  548. package/docs/ja/intlayer_with_vite+vanilla.md +16 -3
  549. package/docs/ja/intlayer_with_vite+vue.md +16 -3
  550. package/docs/ja/introduction.md +0 -1
  551. package/docs/ja/readme.md +0 -1
  552. package/docs/ja/releases/v8.md +1 -5
  553. package/docs/ja/self_hosting.md +398 -223
  554. package/docs/ko/benchmark/nextjs.md +13 -13
  555. package/docs/ko/benchmark/solid.md +5 -5
  556. package/docs/ko/benchmark/svelte.md +4 -4
  557. package/docs/ko/benchmark/tanstack.md +14 -13
  558. package/docs/ko/benchmark/vue.md +5 -5
  559. package/docs/ko/chrome_extension.md +130 -0
  560. package/docs/ko/cli/index.md +6 -1
  561. package/docs/ko/cli/infra.md +162 -0
  562. package/docs/ko/cli/init.md +24 -1
  563. package/docs/ko/dictionary/html.md +173 -5
  564. package/docs/ko/dictionary/markdown.md +263 -1
  565. package/docs/ko/intlayer_with_analog.md +23 -1
  566. package/docs/ko/intlayer_with_angular_19.md +24 -1
  567. package/docs/ko/intlayer_with_angular_21.md +24 -1
  568. package/docs/ko/intlayer_with_astro.md +29 -21
  569. package/docs/ko/intlayer_with_astro_lit.md +47 -27
  570. package/docs/ko/intlayer_with_astro_preact.md +48 -27
  571. package/docs/ko/intlayer_with_astro_react.md +48 -27
  572. package/docs/ko/intlayer_with_astro_solid.md +48 -27
  573. package/docs/ko/intlayer_with_astro_svelte.md +47 -27
  574. package/docs/ko/intlayer_with_astro_vue.md +47 -27
  575. package/docs/ko/intlayer_with_react_router_v7.md +12 -1
  576. package/docs/ko/intlayer_with_remix_3.md +22 -1
  577. package/docs/ko/intlayer_with_solid_start.md +14 -7
  578. package/docs/ko/intlayer_with_svelte_kit.md +12 -1
  579. package/docs/ko/intlayer_with_tanstack+solid.md +13 -2
  580. package/docs/ko/intlayer_with_tanstack.md +13 -6
  581. package/docs/ko/intlayer_with_vite+lit.md +75 -3
  582. package/docs/ko/intlayer_with_vite+preact.md +16 -3
  583. package/docs/ko/intlayer_with_vite+react.md +16 -3
  584. package/docs/ko/intlayer_with_vite+solid.md +26 -16
  585. package/docs/ko/intlayer_with_vite+svelte.md +16 -3
  586. package/docs/ko/intlayer_with_vite+vanilla.md +16 -3
  587. package/docs/ko/intlayer_with_vite+vue.md +16 -3
  588. package/docs/ko/introduction.md +0 -1
  589. package/docs/ko/readme.md +0 -1
  590. package/docs/ko/releases/v8.md +1 -5
  591. package/docs/ko/self_hosting.md +411 -238
  592. package/docs/nl/intlayer_with_vite+lit.md +75 -3
  593. package/docs/nl/intlayer_with_vite+vanilla.md +16 -3
  594. package/docs/nl/introduction.md +0 -1
  595. package/docs/pl/benchmark/nextjs.md +13 -13
  596. package/docs/pl/benchmark/solid.md +5 -5
  597. package/docs/pl/benchmark/svelte.md +4 -4
  598. package/docs/pl/benchmark/tanstack.md +14 -13
  599. package/docs/pl/benchmark/vue.md +5 -5
  600. package/docs/pl/chrome_extension.md +130 -0
  601. package/docs/pl/cli/index.md +6 -1
  602. package/docs/pl/cli/infra.md +162 -0
  603. package/docs/pl/cli/init.md +24 -1
  604. package/docs/pl/dictionary/html.md +173 -5
  605. package/docs/pl/dictionary/markdown.md +263 -1
  606. package/docs/pl/intlayer_with_analog.md +23 -1
  607. package/docs/pl/intlayer_with_angular_19.md +24 -1
  608. package/docs/pl/intlayer_with_angular_21.md +24 -1
  609. package/docs/pl/intlayer_with_astro.md +29 -21
  610. package/docs/pl/intlayer_with_astro_lit.md +47 -27
  611. package/docs/pl/intlayer_with_astro_preact.md +48 -27
  612. package/docs/pl/intlayer_with_astro_react.md +48 -27
  613. package/docs/pl/intlayer_with_astro_solid.md +48 -27
  614. package/docs/pl/intlayer_with_astro_svelte.md +47 -27
  615. package/docs/pl/intlayer_with_astro_vue.md +47 -27
  616. package/docs/pl/intlayer_with_react_router_v7.md +12 -1
  617. package/docs/pl/intlayer_with_remix_3.md +22 -1
  618. package/docs/pl/intlayer_with_solid_start.md +14 -7
  619. package/docs/pl/intlayer_with_svelte_kit.md +12 -1
  620. package/docs/pl/intlayer_with_tanstack+solid.md +13 -2
  621. package/docs/pl/intlayer_with_tanstack.md +13 -6
  622. package/docs/pl/intlayer_with_vite+lit.md +75 -3
  623. package/docs/pl/intlayer_with_vite+preact.md +16 -3
  624. package/docs/pl/intlayer_with_vite+react.md +16 -3
  625. package/docs/pl/intlayer_with_vite+solid.md +16 -3
  626. package/docs/pl/intlayer_with_vite+svelte.md +16 -3
  627. package/docs/pl/intlayer_with_vite+vanilla.md +16 -3
  628. package/docs/pl/intlayer_with_vite+vue.md +16 -3
  629. package/docs/pl/introduction.md +0 -1
  630. package/docs/pl/readme.md +0 -1
  631. package/docs/pl/releases/v8.md +1 -5
  632. package/docs/pl/self_hosting.md +408 -233
  633. package/docs/pt/benchmark/nextjs.md +13 -13
  634. package/docs/pt/benchmark/solid.md +5 -5
  635. package/docs/pt/benchmark/svelte.md +4 -4
  636. package/docs/pt/benchmark/tanstack.md +14 -13
  637. package/docs/pt/benchmark/vue.md +5 -5
  638. package/docs/pt/chrome_extension.md +130 -0
  639. package/docs/pt/cli/index.md +6 -1
  640. package/docs/pt/cli/infra.md +162 -0
  641. package/docs/pt/cli/init.md +24 -1
  642. package/docs/pt/dictionary/html.md +173 -5
  643. package/docs/pt/dictionary/markdown.md +263 -1
  644. package/docs/pt/intlayer_with_analog.md +23 -1
  645. package/docs/pt/intlayer_with_angular_19.md +24 -1
  646. package/docs/pt/intlayer_with_angular_21.md +24 -1
  647. package/docs/pt/intlayer_with_astro.md +29 -21
  648. package/docs/pt/intlayer_with_astro_lit.md +47 -27
  649. package/docs/pt/intlayer_with_astro_preact.md +48 -27
  650. package/docs/pt/intlayer_with_astro_react.md +48 -27
  651. package/docs/pt/intlayer_with_astro_solid.md +48 -27
  652. package/docs/pt/intlayer_with_astro_svelte.md +47 -27
  653. package/docs/pt/intlayer_with_astro_vue.md +47 -27
  654. package/docs/pt/intlayer_with_react_router_v7.md +12 -1
  655. package/docs/pt/intlayer_with_remix_3.md +22 -1
  656. package/docs/pt/intlayer_with_solid_start.md +14 -7
  657. package/docs/pt/intlayer_with_svelte_kit.md +12 -1
  658. package/docs/pt/intlayer_with_tanstack+solid.md +13 -2
  659. package/docs/pt/intlayer_with_tanstack.md +13 -6
  660. package/docs/pt/intlayer_with_vite+lit.md +75 -3
  661. package/docs/pt/intlayer_with_vite+preact.md +16 -3
  662. package/docs/pt/intlayer_with_vite+react.md +16 -3
  663. package/docs/pt/intlayer_with_vite+solid.md +16 -3
  664. package/docs/pt/intlayer_with_vite+svelte.md +16 -3
  665. package/docs/pt/intlayer_with_vite+vanilla.md +16 -3
  666. package/docs/pt/intlayer_with_vite+vue.md +16 -3
  667. package/docs/pt/introduction.md +0 -1
  668. package/docs/pt/readme.md +0 -1
  669. package/docs/pt/releases/v8.md +1 -5
  670. package/docs/pt/self_hosting.md +399 -224
  671. package/docs/ru/benchmark/nextjs.md +13 -13
  672. package/docs/ru/benchmark/solid.md +5 -5
  673. package/docs/ru/benchmark/svelte.md +4 -4
  674. package/docs/ru/benchmark/tanstack.md +14 -13
  675. package/docs/ru/benchmark/vue.md +5 -5
  676. package/docs/ru/chrome_extension.md +130 -0
  677. package/docs/ru/cli/index.md +6 -1
  678. package/docs/ru/cli/infra.md +162 -0
  679. package/docs/ru/cli/init.md +24 -1
  680. package/docs/ru/dictionary/html.md +173 -5
  681. package/docs/ru/dictionary/markdown.md +263 -1
  682. package/docs/ru/intlayer_with_analog.md +23 -1
  683. package/docs/ru/intlayer_with_angular_19.md +24 -1
  684. package/docs/ru/intlayer_with_angular_21.md +24 -1
  685. package/docs/ru/intlayer_with_astro.md +35 -25
  686. package/docs/ru/intlayer_with_astro_lit.md +47 -27
  687. package/docs/ru/intlayer_with_astro_preact.md +48 -27
  688. package/docs/ru/intlayer_with_astro_react.md +48 -27
  689. package/docs/ru/intlayer_with_astro_solid.md +48 -27
  690. package/docs/ru/intlayer_with_astro_svelte.md +47 -27
  691. package/docs/ru/intlayer_with_astro_vue.md +47 -27
  692. package/docs/ru/intlayer_with_react_router_v7.md +12 -1
  693. package/docs/ru/intlayer_with_remix_3.md +22 -1
  694. package/docs/ru/intlayer_with_solid_start.md +14 -7
  695. package/docs/ru/intlayer_with_svelte_kit.md +12 -1
  696. package/docs/ru/intlayer_with_tanstack+solid.md +13 -2
  697. package/docs/ru/intlayer_with_tanstack.md +13 -6
  698. package/docs/ru/intlayer_with_vite+lit.md +75 -3
  699. package/docs/ru/intlayer_with_vite+preact.md +16 -3
  700. package/docs/ru/intlayer_with_vite+react.md +16 -3
  701. package/docs/ru/intlayer_with_vite+solid.md +16 -3
  702. package/docs/ru/intlayer_with_vite+svelte.md +16 -3
  703. package/docs/ru/intlayer_with_vite+vanilla.md +16 -3
  704. package/docs/ru/intlayer_with_vite+vue.md +16 -3
  705. package/docs/ru/introduction.md +0 -1
  706. package/docs/ru/readme.md +0 -1
  707. package/docs/ru/releases/v8.md +1 -5
  708. package/docs/ru/self_hosting.md +403 -228
  709. package/docs/tr/benchmark/nextjs.md +13 -13
  710. package/docs/tr/benchmark/solid.md +5 -5
  711. package/docs/tr/benchmark/svelte.md +4 -4
  712. package/docs/tr/benchmark/tanstack.md +14 -13
  713. package/docs/tr/benchmark/vue.md +5 -5
  714. package/docs/tr/chrome_extension.md +130 -0
  715. package/docs/tr/cli/index.md +6 -1
  716. package/docs/tr/cli/infra.md +162 -0
  717. package/docs/tr/cli/init.md +24 -1
  718. package/docs/tr/dictionary/html.md +173 -5
  719. package/docs/tr/dictionary/markdown.md +263 -1
  720. package/docs/tr/intlayer_with_analog.md +23 -1
  721. package/docs/tr/intlayer_with_angular_19.md +24 -1
  722. package/docs/tr/intlayer_with_angular_21.md +24 -1
  723. package/docs/tr/intlayer_with_astro.md +35 -25
  724. package/docs/tr/intlayer_with_astro_lit.md +48 -28
  725. package/docs/tr/intlayer_with_astro_preact.md +49 -28
  726. package/docs/tr/intlayer_with_astro_react.md +49 -28
  727. package/docs/tr/intlayer_with_astro_solid.md +49 -28
  728. package/docs/tr/intlayer_with_astro_svelte.md +48 -28
  729. package/docs/tr/intlayer_with_astro_vue.md +48 -28
  730. package/docs/tr/intlayer_with_react_router_v7.md +12 -1
  731. package/docs/tr/intlayer_with_remix_3.md +22 -1
  732. package/docs/tr/intlayer_with_solid_start.md +14 -7
  733. package/docs/tr/intlayer_with_svelte_kit.md +12 -1
  734. package/docs/tr/intlayer_with_tanstack+solid.md +13 -2
  735. package/docs/tr/intlayer_with_tanstack.md +13 -6
  736. package/docs/tr/intlayer_with_vite+lit.md +75 -3
  737. package/docs/tr/intlayer_with_vite+preact.md +16 -3
  738. package/docs/tr/intlayer_with_vite+react.md +16 -3
  739. package/docs/tr/intlayer_with_vite+solid.md +16 -3
  740. package/docs/tr/intlayer_with_vite+svelte.md +16 -3
  741. package/docs/tr/intlayer_with_vite+vanilla.md +16 -3
  742. package/docs/tr/intlayer_with_vite+vue.md +16 -3
  743. package/docs/tr/introduction.md +0 -1
  744. package/docs/tr/readme.md +0 -1
  745. package/docs/tr/releases/v8.md +1 -5
  746. package/docs/tr/self_hosting.md +410 -234
  747. package/docs/uk/benchmark/nextjs.md +13 -13
  748. package/docs/uk/benchmark/solid.md +5 -5
  749. package/docs/uk/benchmark/svelte.md +4 -4
  750. package/docs/uk/benchmark/tanstack.md +14 -13
  751. package/docs/uk/benchmark/vue.md +5 -5
  752. package/docs/uk/chrome_extension.md +130 -0
  753. package/docs/uk/cli/index.md +6 -1
  754. package/docs/uk/cli/infra.md +162 -0
  755. package/docs/uk/cli/init.md +24 -1
  756. package/docs/uk/dictionary/html.md +173 -5
  757. package/docs/uk/dictionary/markdown.md +263 -1
  758. package/docs/uk/intlayer_with_analog.md +23 -1
  759. package/docs/uk/intlayer_with_angular_19.md +24 -1
  760. package/docs/uk/intlayer_with_angular_21.md +24 -1
  761. package/docs/uk/intlayer_with_astro.md +35 -25
  762. package/docs/uk/intlayer_with_astro_lit.md +47 -27
  763. package/docs/uk/intlayer_with_astro_preact.md +48 -27
  764. package/docs/uk/intlayer_with_astro_react.md +48 -27
  765. package/docs/uk/intlayer_with_astro_solid.md +48 -27
  766. package/docs/uk/intlayer_with_astro_svelte.md +47 -27
  767. package/docs/uk/intlayer_with_astro_vue.md +47 -27
  768. package/docs/uk/intlayer_with_react_router_v7.md +12 -1
  769. package/docs/uk/intlayer_with_remix_3.md +22 -1
  770. package/docs/uk/intlayer_with_solid_start.md +14 -7
  771. package/docs/uk/intlayer_with_svelte_kit.md +12 -1
  772. package/docs/uk/intlayer_with_tanstack+solid.md +13 -2
  773. package/docs/uk/intlayer_with_tanstack.md +13 -6
  774. package/docs/uk/intlayer_with_vite+lit.md +75 -3
  775. package/docs/uk/intlayer_with_vite+preact.md +16 -3
  776. package/docs/uk/intlayer_with_vite+react.md +16 -3
  777. package/docs/uk/intlayer_with_vite+solid.md +16 -3
  778. package/docs/uk/intlayer_with_vite+svelte.md +16 -3
  779. package/docs/uk/intlayer_with_vite+vanilla.md +16 -3
  780. package/docs/uk/intlayer_with_vite+vue.md +16 -3
  781. package/docs/uk/introduction.md +0 -1
  782. package/docs/uk/readme.md +0 -1
  783. package/docs/uk/releases/v8.md +1 -5
  784. package/docs/uk/self_hosting.md +413 -238
  785. package/docs/ur/intlayer_with_vite+lit.md +75 -3
  786. package/docs/ur/intlayer_with_vite+vanilla.md +16 -3
  787. package/docs/ur/introduction.md +0 -1
  788. package/docs/vi/benchmark/nextjs.md +13 -13
  789. package/docs/vi/benchmark/solid.md +5 -5
  790. package/docs/vi/benchmark/svelte.md +4 -4
  791. package/docs/vi/benchmark/tanstack.md +14 -13
  792. package/docs/vi/benchmark/vue.md +5 -5
  793. package/docs/vi/chrome_extension.md +130 -0
  794. package/docs/vi/cli/index.md +6 -1
  795. package/docs/vi/cli/infra.md +162 -0
  796. package/docs/vi/cli/init.md +24 -1
  797. package/docs/vi/dictionary/html.md +173 -5
  798. package/docs/vi/dictionary/markdown.md +263 -1
  799. package/docs/vi/intlayer_with_analog.md +23 -1
  800. package/docs/vi/intlayer_with_angular_19.md +24 -1
  801. package/docs/vi/intlayer_with_angular_21.md +24 -1
  802. package/docs/vi/intlayer_with_astro.md +35 -25
  803. package/docs/vi/intlayer_with_astro_lit.md +47 -27
  804. package/docs/vi/intlayer_with_astro_preact.md +48 -27
  805. package/docs/vi/intlayer_with_astro_react.md +48 -27
  806. package/docs/vi/intlayer_with_astro_solid.md +48 -27
  807. package/docs/vi/intlayer_with_astro_svelte.md +47 -27
  808. package/docs/vi/intlayer_with_astro_vue.md +47 -27
  809. package/docs/vi/intlayer_with_react_router_v7.md +12 -1
  810. package/docs/vi/intlayer_with_remix_3.md +22 -1
  811. package/docs/vi/intlayer_with_solid_start.md +14 -7
  812. package/docs/vi/intlayer_with_svelte_kit.md +12 -1
  813. package/docs/vi/intlayer_with_tanstack+solid.md +13 -2
  814. package/docs/vi/intlayer_with_tanstack.md +13 -6
  815. package/docs/vi/intlayer_with_vite+lit.md +75 -3
  816. package/docs/vi/intlayer_with_vite+preact.md +16 -3
  817. package/docs/vi/intlayer_with_vite+react.md +16 -3
  818. package/docs/vi/intlayer_with_vite+solid.md +16 -3
  819. package/docs/vi/intlayer_with_vite+svelte.md +16 -3
  820. package/docs/vi/intlayer_with_vite+vanilla.md +16 -3
  821. package/docs/vi/intlayer_with_vite+vue.md +16 -3
  822. package/docs/vi/introduction.md +0 -1
  823. package/docs/vi/readme.md +0 -1
  824. package/docs/vi/releases/v8.md +1 -5
  825. package/docs/vi/self_hosting.md +408 -234
  826. package/docs/zh/benchmark/nextjs.md +13 -13
  827. package/docs/zh/benchmark/solid.md +5 -5
  828. package/docs/zh/benchmark/svelte.md +4 -4
  829. package/docs/zh/benchmark/tanstack.md +14 -13
  830. package/docs/zh/benchmark/vue.md +5 -5
  831. package/docs/zh/chrome_extension.md +130 -0
  832. package/docs/zh/cli/index.md +6 -1
  833. package/docs/zh/cli/infra.md +162 -0
  834. package/docs/zh/cli/init.md +24 -1
  835. package/docs/zh/dictionary/html.md +172 -5
  836. package/docs/zh/dictionary/markdown.md +262 -1
  837. package/docs/zh/intlayer_with_analog.md +23 -1
  838. package/docs/zh/intlayer_with_angular_19.md +24 -1
  839. package/docs/zh/intlayer_with_angular_21.md +24 -1
  840. package/docs/zh/intlayer_with_astro.md +29 -21
  841. package/docs/zh/intlayer_with_astro_lit.md +47 -27
  842. package/docs/zh/intlayer_with_astro_preact.md +48 -27
  843. package/docs/zh/intlayer_with_astro_react.md +48 -27
  844. package/docs/zh/intlayer_with_astro_solid.md +48 -27
  845. package/docs/zh/intlayer_with_astro_svelte.md +47 -27
  846. package/docs/zh/intlayer_with_astro_vue.md +47 -27
  847. package/docs/zh/intlayer_with_react_router_v7.md +12 -1
  848. package/docs/zh/intlayer_with_remix_3.md +22 -1
  849. package/docs/zh/intlayer_with_solid_start.md +14 -7
  850. package/docs/zh/intlayer_with_svelte_kit.md +12 -1
  851. package/docs/zh/intlayer_with_tanstack+solid.md +13 -2
  852. package/docs/zh/intlayer_with_tanstack.md +13 -6
  853. package/docs/zh/intlayer_with_vite+lit.md +75 -3
  854. package/docs/zh/intlayer_with_vite+preact.md +16 -3
  855. package/docs/zh/intlayer_with_vite+react.md +16 -3
  856. package/docs/zh/intlayer_with_vite+solid.md +16 -3
  857. package/docs/zh/intlayer_with_vite+svelte.md +16 -3
  858. package/docs/zh/intlayer_with_vite+vanilla.md +16 -3
  859. package/docs/zh/intlayer_with_vite+vue.md +16 -3
  860. package/docs/zh/introduction.md +0 -1
  861. package/docs/zh/readme.md +0 -1
  862. package/docs/zh/releases/v8.md +1 -5
  863. package/docs/zh/self_hosting.md +410 -237
  864. package/docs/zh-TW/introduction.md +0 -1
  865. package/legal/ar/privacy_notice.md +9 -3
  866. package/legal/de/privacy_notice.md +9 -3
  867. package/legal/en/privacy_notice.md +10 -3
  868. package/legal/en-GB/privacy_notice.md +9 -3
  869. package/legal/es/privacy_notice.md +9 -3
  870. package/legal/fr/privacy_notice.md +9 -3
  871. package/legal/hi/privacy_notice.md +9 -3
  872. package/legal/id/privacy_notice.md +9 -3
  873. package/legal/it/privacy_notice.md +9 -3
  874. package/legal/ja/privacy_notice.md +9 -3
  875. package/legal/ko/privacy_notice.md +9 -3
  876. package/legal/pl/privacy_notice.md +9 -3
  877. package/legal/pt/privacy_notice.md +9 -3
  878. package/legal/ru/privacy_notice.md +9 -3
  879. package/legal/tr/privacy_notice.md +9 -3
  880. package/legal/uk/privacy_notice.md +9 -3
  881. package/legal/vi/privacy_notice.md +9 -3
  882. package/legal/zh/privacy_notice.md +9 -3
  883. package/package.json +6 -6
  884. package/src/generated/docs.entry.ts +40 -40
  885. package/docs/ar/intlayer_with_astro_vanilla.md +0 -709
  886. package/docs/ar/roadmap.md +0 -321
  887. package/docs/de/intlayer_with_astro_vanilla.md +0 -705
  888. package/docs/de/roadmap.md +0 -322
  889. package/docs/en/intlayer_with_astro_vanilla.md +0 -706
  890. package/docs/en/roadmap.md +0 -325
  891. package/docs/en-GB/intlayer_with_astro_vanilla.md +0 -709
  892. package/docs/en-GB/roadmap.md +0 -322
  893. package/docs/es/intlayer_with_astro_vanilla.md +0 -701
  894. package/docs/es/roadmap.md +0 -322
  895. package/docs/fr/intlayer_with_astro_vanilla.md +0 -701
  896. package/docs/fr/roadmap.md +0 -322
  897. package/docs/hi/intlayer_with_astro_vanilla.md +0 -720
  898. package/docs/hi/roadmap.md +0 -322
  899. package/docs/id/intlayer_with_astro_vanilla.md +0 -705
  900. package/docs/id/roadmap.md +0 -325
  901. package/docs/it/intlayer_with_astro_vanilla.md +0 -705
  902. package/docs/it/roadmap.md +0 -322
  903. package/docs/ja/intlayer_with_astro_vanilla.md +0 -708
  904. package/docs/ja/roadmap.md +0 -322
  905. package/docs/ko/intlayer_with_astro_vanilla.md +0 -720
  906. package/docs/ko/roadmap.md +0 -322
  907. package/docs/pl/intlayer_with_astro_vanilla.md +0 -705
  908. package/docs/pl/roadmap.md +0 -325
  909. package/docs/pt/intlayer_with_astro_vanilla.md +0 -705
  910. package/docs/pt/roadmap.md +0 -322
  911. package/docs/ru/intlayer_with_astro_vanilla.md +0 -716
  912. package/docs/ru/roadmap.md +0 -322
  913. package/docs/tr/intlayer_with_astro_vanilla.md +0 -705
  914. package/docs/tr/roadmap.md +0 -325
  915. package/docs/uk/intlayer_with_astro_vanilla.md +0 -705
  916. package/docs/uk/roadmap.md +0 -325
  917. package/docs/vi/intlayer_with_astro_vanilla.md +0 -705
  918. package/docs/vi/roadmap.md +0 -325
  919. package/docs/zh/intlayer_with_astro_vanilla.md +0 -704
  920. package/docs/zh/roadmap.md +0 -322
@@ -1,12 +1,13 @@
1
1
  ---
2
2
  createdAt: 2026-06-30
3
- updatedAt: 2026-06-30
4
- title: Intlayerのセルフホスティング
5
- description: 単一のコマンドでIntlayerの完全なインスタンスを独自のインフラストラクチャ上で実行できます。Intlayer Cloudアカウントは不要です。
3
+ updatedAt: 2026-09-21
4
+ title: Intlayer のセルフホスティング
5
+ description: "独自のインフラストラクチャ上で Intlayer を実行します: デスクトップアプリ、単一のオールインワン Docker コンテナ、またはスケーラブルな Docker Compose スタック。Intlayer Cloud アカウントは不要です。"
6
6
  keywords:
7
7
  - セルフホスティング
8
8
  - Docker
9
9
  - Docker Compose
10
+ - デスクトップアプリ
10
11
  - Intlayer
11
12
  - CMS
12
13
  - インストール
@@ -17,214 +18,455 @@ slugs:
17
18
  author: aymericzip
18
19
  ---
19
20
 
20
- # Intlayerのセルフホスティング
21
+ # Intlayer のセルフホスティング
21
22
 
22
- Intlayerはあなた自身のインフラストラクチャ上で実行できます。Intlayer Cloudアカウントは必要ありません。単一のオールインワンDockerイメージは、ダッシュボード、API、および必要なローカルデータストア(RedisとMinIO)をバンドルし、[s6-overlay](https://github.com/just-containers/s6-overlay)によって監視されています。
23
+ Intlayer は独自のインフラストラクチャ上で実行でき、Intlayer Cloud アカウントは不要です。同じインストーラー(`install.sh`、Windows では `install.ps1`、または `npx intlayer init infra`)でセットアップできる3つの構成が用意されています:
23
24
 
24
- Intlayerは、Intlayer Cloudアカウントを必要とせず、独自のインフラストラクチャ上で完全に実行できます。単一のコマンドで、本番環境に対応したスタックを起動します。
25
+ | Setup | What it is | Pick it for |
26
+ | ------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------- |
27
+ | **デスクトップアプリ** | macOS、Linux、Windows 向けのネイティブダッシュボード | ローカルクライアント、ホスティング不要 |
28
+ | **オールインワン Docker** | ダッシュボード、API、MongoDB、Redis、MinIO を**単一コンテナ**に集約 | テストや小規模な単一マシンへの導入 |
29
+ | **Docker Compose** | **サービスごとに1つのコンテナ**、各データストアをマネージドサービスに置換可能 | 本番環境、スケーリング、マネージドデータベース |
30
+
31
+ ## Table of Contents
32
+
33
+ <TOC/>
34
+
35
+ ## 公開イメージおよびパッケージ
36
+
37
+ | Artifact | Docker Hub | GHCR mirror | Contents |
38
+ | -------------------- | ------------------------------------------------------------------------- | ------------------------------------------ | -------------------------------------------------------------------------------- |
39
+ | All-in-one container | [`intlayer/cms-all`](https://hub.docker.com/r/intlayer/cms-all) | `ghcr.io/aymericzip/intlayer/cms-all` | app + backend + MongoDB 8 + Redis + MinIO + Chromium |
40
+ | Dashboard (frontend) | [`intlayer/cms-frontend`](https://hub.docker.com/r/intlayer/cms-frontend) | `ghcr.io/aymericzip/intlayer/cms-frontend` | TanStack Start dashboard on Bun |
41
+ | API (backend) | [`intlayer/cms-backend`](https://hub.docker.com/r/intlayer/cms-backend) | `ghcr.io/aymericzip/intlayer/cms-backend` | Fastify REST API on Bun + Chromium |
42
+ | Desktop app | [GitHub releases](https://github.com/aymericzip/intlayer/releases/latest) | n/a | `.dmg` (macOS), `.deb` / `.rpm` / `.AppImage` (Linux), `.exe` / `.msi` (Windows) |
43
+
44
+ 3つのイメージはすべて同じ [`docker/selfhost/Dockerfile`](https://github.com/aymericzip/intlayer/tree/main/docker/selfhost) からビルドされ、リリースごとに公開されます。Compose スタックは公式の `mongo:8`、`redis:8-alpine`、`quay.io/minio/minio` イメージも取得します。
45
+
46
+ ## セットアップ
47
+
48
+ インストーラーは希望するセットアップを尋ね、前提条件を確認し(Dockerのインストールを提案)、生成済みのシークレットを含む環境ファイルを書き出し、イメージを取得します。自動で起動することはありません: Docker モードでは最初にメーラーが必要となるため、最後に実行すべきコマンドを出力して終了します。再実行は安全です: 既存の環境ファイルは上書きされないため、アップグレード時にも利用できます。
49
+
50
+ <Tabs group="mode">
51
+ <Tab label="デスクトップアプリ" value="desktop">
52
+
53
+ Tauri で構築されたネイティブアプリケーションとしての Intlayer ダッシュボード。Intlayer Cloud (`https://app.intlayer.org`) にログインするため、ホスティングは不要です。ブラウザのタブではなくローカルクライアントを使用したい場合に最適な選択肢です。
54
+
55
+ ### インストール
56
+
57
+ インストーラーはお使いの OS と CPU に適したパッケージをダウンロードし、開く(macOS)、インストールする(Linux では `dpkg` / `rpm`)、またはセットアップウィザードを起動します(Windows)。[リリースページ](https://github.com/aymericzip/intlayer/releases/latest) から手動でダウンロードすることもできます。
58
+
59
+ <Tabs group="os">
60
+ <Tab label="macOS / Linux" value="unix">
25
61
 
26
62
  ```sh
27
- curl -fsSL https://intlayer.org/install.sh | sh
63
+ curl -fsSL https://intlayer.org/install.sh | sh -s -- --mode desktop
28
64
  ```
29
65
 
30
- インストーラーは `docker-compose.yml` と `.env` をダウンロードし、必要なシークレットを自動生成して、すべてのコンテナを `docker compose up -d` で起動します。
66
+ </Tab>
67
+ <Tab label="Windows" value="windows">
31
68
 
32
- 唯一の外部依存関係は **MongoDB** です。バックエンドは提供する MongoDB **Atlas** クラスターに接続します。その他すべてはコンテナ内で実行されます。
69
+ In PowerShell:
33
70
 
34
- ## 目次
71
+ ```powershell
72
+ $env:INTLAYER_MODE = "desktop"; irm https://intlayer.org/install.ps1 | iex
73
+ ```
35
74
 
36
- <TOC/>
75
+ </Tab>
76
+ <Tab label="Intlayer CLI" value="cli">
77
+
78
+ ```bash
79
+ npx intlayer init infra --mode desktop
80
+ ```
81
+
82
+ </Tab>
83
+ </Tabs>
37
84
 
38
- ## アーキテクチャ
85
+ ### 要件
86
+
87
+ - **Node.js**: アプリにはダッシュボードのサーバーが組み込まれており、マシンの `node` バイナリで起動します。アプリが起動しない場合は [nodejs.org](https://nodejs.org) からインストールしてください。
88
+
89
+ > 公開されているデスクトップビルドは Intlayer Cloud バックエンドと通信します。セルフホストされたバックエンドに向けるには、API に合わせた `VITE_BACKEND_URL` でアプリをリビルドする必要があります。[制限事項](#limitations) を参照してください。
90
+
91
+ </Tab>
92
+ <Tab label="オールインワン Docker" value="docker">
93
+
94
+ すべてが単一の `intlayer/cms-all` コンテナ内で実行され、[s6-overlay](https://github.com/just-containers/s6-overlay) によって監視され、すべてのデータストアが1つのボリュームに永続化されます。
39
95
 
40
96
  ```
41
97
  ┌─────────────────────────────┐
42
98
  browser ──────▶ │ app (TanStack Start) :3000│ ──┐
43
- └─────────────────────────────┘ │ VITE_BACKEND_URL
99
+ (localhost) └─────────────────────────────┘ │ VITE_BACKEND_URL (baked at build)
44
100
  ┌─────────────────────────────┐ │
45
101
  │ backend (Fastify/Bun) :3100│ ◀─┘
46
102
  └──────────────┬──────────────┘
47
- ┌──────────┬─────────┼──────────┬───────────┐
48
- ▼ ▼ ▼ ▼ ▼
49
- mongo:27017 redis:6379 minio:9000 mailpit:1025 Chromium
50
- (1ノードRS) (S3 API) (SMTP) (インイメージ)
51
- minio:9001 mailpit:8025
52
- (コンソール) (ウェブUI)
103
+ ┌──────────┬─────────┼──────────────┐
104
+ ▼ ▼ ▼ ▼
105
+ mongo:27017 redis:6379 minio:9000 Chromium
106
+ /data/mongo /data/redis /data/minio (in-image)
107
+ (1-node RS) minio:9001
53
108
  ```
54
109
 
55
- Chromium (Puppeteerのスクリーンショット生成に使用) はバックエンドイメージ内にバンドルされており、別のコンテナは必要ありません。
110
+ | サービス | ホストポート | 用途 |
111
+ | ----------- | -------------------------------- | -------------------------------------------------------------- |
112
+ | **app** | `3000` | ダッシュボード(CMS UI) |
113
+ | **backend** | `3100` | REST API(`/health` エンドポイント) |
114
+ | **mongo** | 内部 | MongoDB 8、シングルノードレプリカセット `rs0` |
115
+ | **redis** | 内部 | ジョブキュー(BullMQ)およびキャッシング |
116
+ | **minio** | `9000` (S3), `9001` (コンソール) | アバターやスクリーンショット用の S3 互換オブジェクトストレージ |
117
+
118
+ 起動順序は s6 の依存関係(`mongod` → replica-set 初期化、`minio` → バケット作成、その後 `backend`、最後に `app`)によって管理され、終了時にサービスが再起動するため、初回起動時も自動的に復旧します。
56
119
 
57
- ## 前提条件
120
+ ### 前提条件
58
121
 
59
- - **Docker** ≥ 24 および **Docker Compose** ≥ v2。いずれかが不足している場合、インストーラーはインストールリンクを表示して終了します。
60
- - ホスト上でポート `3000`、`3100`、`8025`、`9000`、`9001` が利用可能であること。
61
- - LinuxまたはmacOSホスト(またはWindows上のWSL2)。
122
+ - **Docker** ≥ 24: インストーラーがインストールを提案します(Linux では [get.docker.com](https://get.docker.com)、macOS では Homebrew 経由)。Windows では、まず [Docker Desktop](https://docs.docker.com/desktop/setup/install/windows-install/)(WSL 2 バックエンド)をインストールしてください。
123
+ - ホスト上でポート `3000`、`3100`、`9000`、`9001` が空いていること。MinIO `9000` は、ブラウザが `S3_PUBLIC_URL` から直接アセットを読み込むため、ブラウザから到達可能である必要があります。
124
+ - メーラー: [Resend](https://resend.com) API キーまたは SMTP リレー。
62
125
 
63
- その他すべて — Bun、Redis、MinIO、Chromium — はイメージ内に含まれています。
126
+ ### 1. インストール
64
127
 
65
- ## クイックスタート
128
+ `BETTER_AUTH_SECRET` および `S3_SECRET_ACCESS_KEY` が生成された `./intlayer.env` を書き込み、`intlayer/cms-all:latest` を取得します。
66
129
 
67
- ### 1. インストーラーを実行する
130
+ <Tabs group="os">
131
+ <Tab label="macOS / Linux" value="unix">
68
132
 
69
133
  ```sh
70
- curl -fsSL https://intlayer.org/install.sh | sh
134
+ curl -fsSL https://intlayer.org/install.sh | sh -s -- --mode docker
135
+ ```
136
+
137
+ </Tab>
138
+ <Tab label="Windows" value="windows">
139
+
140
+ In PowerShell:
141
+
142
+ ```powershell
143
+ $env:INTLAYER_MODE = "docker"; irm https://intlayer.org/install.ps1 | iex
71
144
  ```
72
145
 
73
- Docker がインストールされており実行中であることを確認し、既に生成された `BETTER_AUTH_SECRET` と `S3_SECRET_ACCESS_KEY` を含む `./intlayer.env` を書き込み、イメージをプルします。コンテナを起動しません — バックエンドはデータベース認証情報がないとブートできません。
146
+ </Tab>
147
+ <Tab label="Intlayer CLI" value="cli">
74
148
 
75
- インストーラーを再実行しても安全です。既存の `intlayer.env` は上書きされないため、アップグレードパスとしても機能します。
149
+ CLI がインストーラーを実行し、他のタブに示されている `docker run …` コマンドを出力します。メーラーを設定したらターミナルに貼り付けて実行してください。
76
150
 
77
- ### 2. 認証情報を入力する
151
+ </Tab>
152
+ </Tabs>
78
153
 
79
- `intlayer.env` を開き、`TODO` でマークされている値を入力してください:
154
+ ### 2. メーラーの設定
155
+
156
+ `intlayer.env` を開き、Resend **または** SMTP を設定します(詳細は [グローバルメーラー](#global-mailer) を参照):
80
157
 
81
158
  ```sh fileName="intlayer.env"
82
- DB_ID=<atlas-user>
83
- DB_MDP=<atlas-password>
84
- DB_CLUSTER=<cluster>.xxxxx.mongodb.net
159
+ # Option A: Resend
85
160
  RESEND_API_KEY=<your-resend-key>
86
- ```
87
161
 
88
- ファイルには、オプション機能のためのコメントアウトされたブロックも含まれています — [SMTP mailer](#global-mailer)、`OPENAI_API_KEY`、および OAuth プロバイダー。必要なものをコメント解除してください。
162
+ # Option B: SMTP (takes over from Resend as soon as MAIL_SMTP_HOST is set)
163
+ MAIL_SMTP_HOST=smtp.example.com
164
+ MAIL_SMTP_PORT=587
165
+ MAIL_SMTP_USER=<user>
166
+ MAIL_SMTP_PASSWORD=<password>
167
+ MAIL_FROM=Intlayer <no-reply@example.com>
168
+ ```
89
169
 
90
- > ファイルは `docker run --env-file` によって読み込まれ、クォートを削除せず、`=` の後のすべてを値として扱います。クォートなしの値を書き、コメントは独立した行に保つようにしてください。
170
+ ### 3. 起動
91
171
 
92
- ### 3. コンテナを起動する
172
+ インストーラーが出力する起動コマンドです:
93
173
 
94
- インストーラーが完了時に出力するコマンドは次の通りです:
174
+ <Tabs group="os">
175
+ <Tab label="macOS / Linux" value="unix">
95
176
 
96
177
  ```sh
97
178
  docker run -d --name intlayer \
98
179
  --restart unless-stopped \
99
- -p 3000:3000 \
100
- -p 3100:3100 \
101
- -p 9000:9000 \
102
- -p 9001:9001 \
180
+ -p 3000:3000 -p 3100:3100 -p 9000:9000 -p 9001:9001 \
103
181
  -v intlayer-data:/data \
104
182
  --env-file ./intlayer.env \
105
- ghcr.io/aymericzip/intlayer-selfhost:latest
183
+ intlayer/cms-all:latest
184
+ ```
185
+
186
+ </Tab>
187
+ <Tab label="Windows" value="windows">
188
+
189
+ ```powershell
190
+ docker run -d --name intlayer `
191
+ --restart unless-stopped `
192
+ -p 3000:3000 -p 3100:3100 -p 9000:9000 -p 9001:9001 `
193
+ -v intlayer-data:/data `
194
+ --env-file ./intlayer.env `
195
+ intlayer/cms-all:latest
106
196
  ```
107
197
 
108
- その後、**http://localhost:3000** を開きます。初回起動時はデータストアが初期化されるため、1 分ほど待ってください。
198
+ </Tab>
199
+ <Tab label="Intlayer CLI" value="cli">
200
+
201
+ CLI がインストーラーを実行し、他のタブに示されている `docker run …` コマンドを出力します。メーラーを設定したらターミナルに貼り付けて実行してください。
202
+
203
+ </Tab>
204
+ </Tabs>
109
205
 
110
- > ダッシュボードは `localhost` で提供されます。[制限事項](#limitations)を参照してください。公開されているイメージではカスタムドメインはサポートされていません。
206
+ **http://localhost:3000** を開き、[初回セットアップ](#first-run-setup) に従います。初回の起動ではレプリカセットとバケットが初期化されるため、少しお待ちください。
111
207
 
112
- ### インストーラー設定
208
+ ### バックアップとアップグレード
113
209
 
114
- インストーラーは環境変数をいくつか読み込みます。`sh` にパイプされるため、`curl` ではなくシェルに環境変数を渡してください:
210
+ すべての状態は `intlayer-data` ボリューム(`/data/mongo`、`/data/redis`、`/data/minio`)内に保持されます。
115
211
 
116
212
  ```sh
117
- curl -fsSL https://intlayer.org/install.sh | INTLAYER_ENV_FILE=./config/intlayer.env sh
213
+ # Backup (stop the container first so MongoDB's files are consistent)
214
+ docker stop intlayer
215
+ docker run --rm -v intlayer-data:/data -v "$(pwd)":/backup busybox tar czf /backup/intlayer-data.tar.gz /data
216
+ docker start intlayer
217
+
218
+ # Restore
219
+ docker run --rm -v intlayer-data:/data -v "$(pwd)":/backup busybox tar xzf /backup/intlayer-data.tar.gz -C /
118
220
  ```
119
221
 
120
- | 変数 | デフォルト | 説明 |
121
- | ------------------------- | --------------------------------------------- | ------------------------------------------ |
122
- | `INTLAYER_IMAGE` | `ghcr.io/aymericzip/intlayer-selfhost:latest` | プルするイメージ |
123
- | `INTLAYER_ENV_FILE` | `./intlayer.env` | env ファイルの書き込み先 |
124
- | `INTLAYER_CONTAINER_NAME` | `intlayer` | コンテナー名 |
125
- | `INTLAYER_DATA_VOLUME` | `intlayer-data` | `/data` にマウントされた名前付きボリューム |
126
- | `INTLAYER_APP_PORT` | `3000` | ダッシュボードのホストポート |
127
- | `INTLAYER_API_PORT` | `3100` | API のホストポート |
128
- | `INTLAYER_S3_PORT` | `9000` | MinIO S3 API のホストポート |
129
- | `INTLAYER_CONSOLE_PORT` | `9001` | MinIO コンソールのホストポート |
222
+ アップグレードするには、インストーラーを再実行し(最新イメージを取得し、`intlayer.env` を維持します)、`docker rm -f intlayer` を実行してから起動コマンドを再実行します。バンドルされたものではなくマネージド MongoDB を使用するには、`intlayer.env` に `MONGODB_URI` を設定します。
130
223
 
131
- > 4 つのポート変数は、`docker run` コマンドで出力されるマッピングの**ホスト**側のみを変更します。公開されたイメージには、`http://localhost:3000`、`http://localhost:3100`、`http://localhost:9000` がビルド時にダッシュボード bundle にコンパイルされているため、これらをリマップするとブラウザーが古いポートを指し続けます。独自のイメージをビルドしていない限り、デフォルトを保持してください — [制限事項](#limitations)を参照してください。
224
+ </Tab>
225
+ <Tab label="Docker Compose" value="compose">
132
226
 
133
- ## 初回セットアップ
227
+ プライベートな Compose ネットワーク上のサービスごとに1つのコンテナを用意します。ダッシュボードと API は公開されている `intlayer/cms-frontend` および `intlayer/cms-backend` イメージを使用し、データストアは公式の `mongo`、`redis`、`minio` イメージを使用します。
228
+
229
+ ```
230
+ ┌───────────────────┐
231
+ browser ──────▶ │ app :3000 │ ── SSR ──▶ http://backend:3100
232
+ (localhost) └───────────────────┘
233
+ ┌───────────────────┐
234
+ browser ──────▶ │ backend :3100 │
235
+ (localhost) └─────────┬─────────┘
236
+ ┌───────────────┼───────────────┐
237
+ ▼ ▼ ▼
238
+ mongo:27017 redis:6379 minio:9000 ◀── browser (assets)
239
+ (1-node RS) minio:9001
240
+ ```
241
+
242
+ | サービス | イメージ | 役割 |
243
+ | ------------ | ----------------------- | -------------------------------------------------------------------------- |
244
+ | `app` | `intlayer/cms-frontend` | `:3000` 上のダッシュボード。バックエンドが健全になるのを待機 |
245
+ | `backend` | `intlayer/cms-backend` | `:3100` 上の Chromium 付き API。Mongo、Redis、MinIO バケットを待機 |
246
+ | `mongo` | `mongo:8` | 自身のヘルスチェックによって初期化されるシングルノードレプリカセット `rs0` |
247
+ | `redis` | `redis:8-alpine` | キューおよびキャッシング、追記専用(append-only)永続化 |
248
+ | `minio` | `quay.io/minio/minio` | `:9000` の S3 ストレージ、`:9001` のコンソール |
249
+ | `minio-init` | `quay.io/minio/mc` | ワンショット: バケットとその匿名ダウンロードポリシーを作成 |
250
+
251
+ データは `intlayer_mongo-data`、`intlayer_redis-data`、`intlayer_minio-data` の各ボリュームに保存されます。サービスの接続設定(`MONGODB_URI`、`REDIS_URL`、`S3_ENDPOINT`、サーバーサイドレンダリング用の内部バックエンド URL)は compose ファイルに固定されており、シークレットとオプションの統合のみを保持する `.env` よりも優先されます。
252
+
253
+ ### 前提条件
254
+
255
+ - **Docker** ≥ 24(Compose プラグイン付き): インストーラーが Linux および macOS 上でインストールを提案します。Windows では、まず [Docker Desktop](https://docs.docker.com/desktop/setup/install/windows-install/)(WSL 2 バックエンド)をインストールしてください。
256
+ - ホスト上でポート `3000`、`3100`、`9000`、`9001` が空いていること。
257
+ - メーラー: [Resend](https://resend.com) API キーまたは SMTP リレー。
258
+
259
+ ### 1. インストール
260
+
261
+ `docker-compose.yml` と生成されたシークレットを含む `.env` を `./intlayer/` に書き出し、イメージを取得します。
262
+
263
+ <Tabs group="os">
264
+ <Tab label="macOS / Linux" value="unix">
265
+
266
+ ```sh
267
+ curl -fsSL https://intlayer.org/install.sh | sh -s -- --mode compose
268
+ ```
269
+
270
+ Or by hand:
271
+
272
+ ```sh
273
+ mkdir intlayer && cd intlayer
274
+ curl -fsSLO https://raw.githubusercontent.com/aymericzip/intlayer/main/docker/selfhost/docker-compose.yml
275
+ curl -fsSL https://raw.githubusercontent.com/aymericzip/intlayer/main/docker/selfhost/.env.template -o .env
276
+ # fill in BETTER_AUTH_SECRET and S3_SECRET_ACCESS_KEY (openssl rand -hex 32)
277
+ ```
278
+
279
+ </Tab>
280
+ <Tab label="Windows" value="windows">
134
281
 
135
- 新規インスタンス(空のデータベース)でダッシュボードを開くと、**`/init`** ページにリダイレクトされます:
282
+ In PowerShell:
283
+
284
+ ```powershell
285
+ $env:INTLAYER_MODE = "compose"; irm https://intlayer.org/install.ps1 | iex
286
+ ```
136
287
 
137
- 1. 最初のアカウントを作成します。ユーザーコレクションが空のため、このアカウントは自動的に **super admin** に昇格されます。
138
- 2. 検証メールが送信されます(Resend経由)。メール検証は **必須** です — これが `RESEND_API_KEY` を開始前に設定する必要がある理由です。
139
- 3. メール内のリンクをクリックしてサインインします。
288
+ Or by hand:
140
289
 
141
- 管理者が存在すると、`/init` は標準的なサインインページにリダイレクトされます。
290
+ ```powershell
291
+ mkdir intlayer; cd intlayer
292
+ irm https://raw.githubusercontent.com/aymericzip/intlayer/main/docker/selfhost/docker-compose.yml -OutFile docker-compose.yml
293
+ irm https://raw.githubusercontent.com/aymericzip/intlayer/main/docker/selfhost/.env.template -OutFile .env
294
+ # fill in BETTER_AUTH_SECRET and S3_SECRET_ACCESS_KEY
295
+ ```
296
+
297
+ </Tab>
298
+ <Tab label="Intlayer CLI" value="cli">
299
+
300
+ ```bash
301
+ npx intlayer init infra --mode compose
302
+ ```
142
303
 
143
- ## サービス
304
+ </Tab>
305
+ </Tabs>
144
306
 
145
- | サービス | イメージ | ホストポート | 目的 |
146
- | ----------- | ------------------------------------ | -------------------------------- | ------------------------------------------------------------ |
147
- | **app** | `apps/app/Dockerfile` からビルド | `3000` | TanStack Start ダッシュボード (CMS UI) |
148
- | **backend** | `apps/backend/Dockerfile` からビルド | `3100` | Fastify REST API (`/health` エンドポイント) |
149
- | **mongo** | `mongo:7` | 内部 | シングルノードレプリカセット (`rs0`) |
150
- | **redis** | `redis:7-alpine` | 内部 | ジョブキュー (BullMQ) とキャッシュ (ioredis) |
151
- | **minio** | `minio/minio` | `9000` (S3), `9001` (コンソール) | アバターとスクリーンショット用のS3互換オブジェクトストレージ |
152
- | **mailpit** | `axllent/mailpit` | `1025` (SMTP), `8025` (ウェブUI) | ローカルトランザクションメールシンク |
307
+ ### 2. メーラーの設定
153
308
 
154
- > MinIOポート `9000` は、アップロードされたアセット (アバター、スクリーンショット) が `S3_PUBLIC_URL=http://localhost:9000/intlayer` から直接読み込まれるため、ブラウザから到達可能である必要があります。
309
+ オールインワン構成と同様に、`intlayer/.env` に Resend **または** SMTP を記入します([グローバルメーラー](#global-mailer) を参照)。
310
+
311
+ ### 3. 起動
312
+
313
+ ```sh
314
+ cd intlayer && docker compose up -d
315
+ ```
316
+
317
+ **http://localhost:3000** を開き、[初回セットアップ](#first-run-setup) に従います。
318
+
319
+ ### マネージドデータストア
320
+
321
+ compose ファイルから置き換えるサービス(および `backend` の `depends_on` エントリ)を削除し、対応する変数を上書きします:
322
+
323
+ ```yaml fileName="docker-compose.yml"
324
+ services:
325
+ backend:
326
+ environment:
327
+ MONGODB_URI: mongodb+srv://user:password@cluster0.xxxxx.mongodb.net/intlayer
328
+ REDIS_URL: rediss://default:password@redis.example.com:6380
329
+ S3_ENDPOINT: https://s3.eu-west-1.amazonaws.com
330
+ S3_PUBLIC_URL: https://intlayer-assets.s3.eu-west-1.amazonaws.com
331
+ ```
332
+
333
+ `S3_ACCESS_KEY_ID` / `S3_SECRET_ACCESS_KEY` / `S3_BUCKET_NAME` は、任意の S3 互換プロバイダーに対してそのまま機能します。
334
+
335
+ ### スケーリング
336
+
337
+ `app` と `backend` はステートレスです。ロードバランサーの背後では、固定のホストポートマッピングを削除し、プロキシがサービス名でルーティングするようにすれば、`docker compose up -d --scale backend=3` が機能します。バックグラウンドジョブは Redis (BullMQ) 経由で調整されるため、複数のバックエンドレプリカがキューを安全に共有します。
338
+
339
+ ### ソースからのビルド
340
+
341
+ リポジトリのクローンから、オーバーライド設定により2つの Intlayer サービスを `image:` から `build:` に切り替えます:
342
+
343
+ ```sh
344
+ cd docker/selfhost
345
+ docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build
346
+ ```
347
+
348
+ カスタムドメイン用のイメージを作成する場合もこの方法を使用します: `VITE_*` の値をビルド引数として渡します([制限事項](#limitations) を参照)。
349
+
350
+ ### バックアップとアップグレード
351
+
352
+ ```sh
353
+ # Backup one volume (repeat for intlayer_redis-data and intlayer_minio-data)
354
+ docker compose stop
355
+ docker run --rm -v intlayer_mongo-data:/data -v "$(pwd)":/backup busybox tar czf /backup/mongo-data.tar.gz /data
356
+ docker compose start
357
+
358
+ # Upgrade, volumes are kept
359
+ docker compose pull && docker compose up -d
360
+ ```
361
+
362
+ </Tab>
363
+ </Tabs>
364
+
365
+ ### インストーラーの設定
366
+
367
+ `--mode`(または `INTLAYER_MODE`)を指定しない場合、インストーラーはメニューを表示します: `desktop`、`docker`(オールインワン)、または `compose`。また、いくつかの環境変数も読み取ります。シェルへのパイプライン処理を行うため、`curl` ではなくシェルに変数を渡してください:
368
+
369
+ ```sh
370
+ curl -fsSL https://intlayer.org/install.sh | INTLAYER_COMPOSE_DIR=./cms sh -s -- --mode compose
371
+ ```
372
+
373
+ ```powershell
374
+ $env:INTLAYER_MODE = "compose"; $env:INTLAYER_COMPOSE_DIR = ".\cms"; irm https://intlayer.org/install.ps1 | iex
375
+ ```
376
+
377
+ | Variable | Default | Applies to | Description |
378
+ | ------------------------- | ------------------------- | ---------- | ---------------------------------------------------------- |
379
+ | `INTLAYER_MODE` | _(asked)_ | all | `desktop`, `docker` or `compose`, same as `--mode` |
380
+ | `INTLAYER_DOWNLOAD_DIR` | `~/Downloads` | desktop | Where the app installer is saved |
381
+ | `INTLAYER_IMAGE` | `intlayer/cms-all:latest` | docker | All-in-one image to pull |
382
+ | `INTLAYER_ENV_FILE` | `./intlayer.env` | docker | Where to write the environment file |
383
+ | `INTLAYER_CONTAINER_NAME` | `intlayer` | docker | Container name |
384
+ | `INTLAYER_DATA_VOLUME` | `intlayer-data` | docker | Named volume mounted at `/data` |
385
+ | `INTLAYER_APP_PORT` | `3000` | docker | Host port for the dashboard |
386
+ | `INTLAYER_API_PORT` | `3100` | docker | Host port for the API |
387
+ | `INTLAYER_S3_PORT` | `9000` | docker | Host port for the MinIO S3 API |
388
+ | `INTLAYER_CONSOLE_PORT` | `9001` | docker | Host port for the MinIO console |
389
+ | `INTLAYER_COMPOSE_DIR` | `./intlayer` | compose | Where `docker-compose.yml` and `.env` are written |
390
+ | `INTLAYER_SELFHOST_REF` | `main` | both | Git ref the compose file and env template are fetched from |
391
+
392
+ > ポート変数はマッピングの **ホスト** 側のみを変更します。公開されているイメージには `http://localhost:3000`、`http://localhost:3100`、`http://localhost:9000` がダッシュボードバンドルにコンパイルされているため、独自のイメージをビルドしない限りデフォルトを維持してください。[制限事項](#limitations) を参照してください。
393
+
394
+ ## 初回セットアップ
395
+
396
+ 新規インスタンス(空のデータベース)でダッシュボードを開くと、自動的に **`/init`** ページにリダイレクトされます:
397
+
398
+ 1. 最初のアカウントを作成します。ユーザーコレクションが空のため、このアカウントは自動的に **スーパー管理者** に昇格します。
399
+ 2. Resend または SMTP リレー経由で確認メールが送信されます。メール確認は **必須** です。そのため、起動前にメーラーを設定する必要があります。
400
+ 3. メール内のリンクをクリックし、サインインします。
401
+
402
+ 管理者が存在する場合、`/init` は通常のサインインページにリダイレクトされます。
155
403
 
156
404
  ## 環境変数
157
405
 
158
- ### 必須
159
-
160
- | Variable | Example | Description |
161
- | ---------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
162
- | `DB_ID` | `intlayer` | MongoDB Atlas ユーザー |
163
- | `DB_MDP` | _(your password)_ | MongoDB Atlas パスワード |
164
- | `DB_CLUSTER` | `cluster0.xxxxx.mongodb.net` | MongoDB Atlas クラスターホスト (`mongodb+srv://` URI で使用) |
165
- | `BETTER_AUTH_SECRET` | _(generated)_ | セッション署名用の 32 バイトシークレット |
166
- | `S3_SECRET_ACCESS_KEY` | _(generated)_ | バンドルされた MinIO のシークレット |
167
- | `RESEND_API_KEY` | _(your key)_ | Resend 経由のトランザクショナルメール。グローバル SMTP メーラーを設定しない限り、初回セットアップで必須 ([グローバルメーラー](#global-mailer)を参照) |
168
-
169
- ### 必須 (自動生成またはプロンプトによる入力)
170
-
171
- | 変数 | 例 | 説明 |
172
- | ---------------------- | ----------------------------------------------- | ----------------------------------------------------- |
173
- | `NODE_ENV` | `production` | ランタイム環境 |
174
- | `PORT` | `3100` | バックエンドのリスニングポート |
175
- | `BACKEND_URL` | `http://localhost:3100` | バックエンドAPIの公開URL |
176
- | `APP_URL` | `http://localhost:3000` | ダッシュボードの公開URL |
177
- | `DOMAIN` | `localhost` | クッキードメイン |
178
- | `MONGODB_URI` | `mongodb://mongo:27017/intlayer?replicaSet=rs0` | MongoDBの完全な接続URI |
179
- | `REDIS_URL` | `redis://redis:6379` | Redisの接続URL |
180
- | `BETTER_AUTH_SECRET` | _(生成済み)_ | セッション署名用の32バイトのシークレット |
181
- | `MAIL_PROVIDER` | `smtp` | メールトランスポート: `smtp` または `resend` |
182
- | `MAIL_SMTP_HOST` | `mailpit` | SMTPホスト名 (Mailpitコンテナ名) |
183
- | `MAIL_SMTP_PORT` | `1025` | SMTPポート |
184
- | `MAIL_FROM` | `Intlayer <no-reply@localhost>` | 送信元アドレス |
185
- | `S3_ENDPOINT` | `http://minio:9000` | S3互換エンドポイント |
186
- | `S3_PUBLIC_URL` | `http://localhost:9000/intlayer` | ブラウザによるアセット読み込み用の公開URL |
187
- | `S3_BUCKET_NAME` | `intlayer` | バケット名 |
188
- | `S3_ACCESS_KEY_ID` | _(生成済み)_ | MinIOアクセスキー |
189
- | `S3_SECRET_ACCESS_KEY` | _(生成済み)_ | MinIOシークレットキー |
190
- | `VITE_BACKEND_URL` | `http://localhost:3100` | ビルド時にダッシュボードに組み込まれるバックエンドURL |
191
- | `VITE_DOMAIN` | `localhost` | ビルド時にダッシュボードに組み込まれるドメイン |
192
-
193
- ### オプション (存在しない場合でも機能は正常に劣化します)
194
-
195
- | 変数 | 機能 |
196
- | -------------------------------------------------------- | -------------------------------------------------------------------------- |
197
- | `OPENAI_API_KEY` | AIアシストによる翻訳とコンテンツ監査 |
198
- | `STRIPE_SECRET_KEY`, `STRIPE_WEBHOOK_SECRET`, `STRIPE_*` | 請求とサブスクリプション管理 |
199
- | `RESEND_API_KEY` | Resendを介したトランザクションメール (設定されている場合、Mailpitを上書き) |
200
- | `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` | GitHub OAuthログイン |
201
- | `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` | Google OAuthログイン |
202
- | `GITLAB_CLIENT_ID`, `GITLAB_CLIENT_SECRET` | GitLab OAuthログイン |
203
- | `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET` | Microsoft OAuthログイン |
204
- | `LINKEDIN_CLIENT_ID`, `LINKEDIN_CLIENT_SECRET` | LinkedIn OAuthログイン |
205
- | `ATLASSIAN_CLIENT_ID`, `ATLASSIAN_CLIENT_SECRET` | Atlassian OAuthログイン |
406
+ 両方の Docker モードは、[`docker/selfhost/.env.template`](https://github.com/aymericzip/intlayer/blob/main/docker/selfhost/.env.template) から生成された同じファイル(コンテナ用は `intlayer.env`、Compose 用は `.env`)を読み取ります。
407
+
408
+ ### 必須項目
409
+
410
+ | Variable | Example | Description |
411
+ | ---------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
412
+ | `BETTER_AUTH_SECRET` | _(generated)_ | 32-byte secret for session signing |
413
+ | `S3_SECRET_ACCESS_KEY` | _(generated)_ | Secret for the bundled MinIO |
414
+ | `RESEND_API_KEY` | _(your key)_ | Transactional email via Resend. Required for first-run setup unless an SMTP relay is configured instead (see [Global mailer](#global-mailer)) |
415
+
416
+ ### デプロイによって固定
417
+
418
+ These are set by the image (all-in-one) or by the compose file, and only need overriding for a non-standard topology.
419
+
420
+ | Variable | All-in-one | Docker Compose | Description |
421
+ | ------------------ | --------------------------------------------------- | -------------------------------- | ----------------------------------------------------------------------------- |
422
+ | `PORT` | `3100` | `3100` | Backend listening port |
423
+ | `APP_URL` | `http://localhost:3000` | `http://localhost:3000` | Public URL of the dashboard |
424
+ | `BACKEND_URL` | `http://localhost:3100` | `http://localhost:3100` | Public URL of the backend API |
425
+ | `DOMAIN` | `localhost` | `localhost` | Cookie domain |
426
+ | `SELF_HOSTED` | `true` | `true` | Disables the cloud-only API endpoints (billing, subscriptions, marketplace) |
427
+ | `MONGODB_URI` | `mongodb://127.0.0.1:27017/intlayer?replicaSet=rs0` | `mongodb://mongo:27017/…` | MongoDB connection string, any `mongodb://` or `mongodb+srv://` cluster works |
428
+ | `REDIS_URL` | `redis://127.0.0.1:6379` | `redis://redis:6379` | Redis |
429
+ | `S3_ENDPOINT` | `http://127.0.0.1:9000` | `http://minio:9000` | MinIO (server-to-server) |
430
+ | `S3_PUBLIC_URL` | `http://localhost:9000/intlayer` | `http://localhost:9000/intlayer` | Public URL for browser asset loading |
431
+ | `S3_BUCKET_NAME` | `intlayer` | `intlayer` | Bucket name |
432
+ | `S3_ACCESS_KEY_ID` | `intlayer` | `intlayer` | MinIO access key |
433
+
434
+ Compose の `app` サービスは追加で `INTLAYER_BACKEND_INTERNAL_URL=http://backend:3100` を受け取ります: ブラウザは `localhost:3100` で API にアクセスしますが、サーバーサイドレンダリングは Compose ネットワーク内で実行されるため、サービス名を使用する必要があります。
435
+
436
+ ### オプション(設定しない場合でも機能は正常にフォールバックします)
437
+
438
+ | Variable | Feature |
439
+ | ------------------------------------------------ | ----------------------------------------- |
440
+ | `OPENAI_API_KEY` | AI-assisted translation and content audit |
441
+ | `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` | GitHub OAuth login |
442
+ | `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` | Google OAuth login |
443
+ | `GITLAB_CLIENT_ID`, `GITLAB_CLIENT_SECRET` | GitLab OAuth login |
444
+ | `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET` | Microsoft OAuth login |
206
445
 
207
446
  ### グローバルメーラー
208
447
 
209
- デフォルトでは、すべてのトランザクションメールは `RESEND_API_KEY` を使用して Resend 経由で送信されます。セルフホストされたデプロイメントでは、パスワードリセットやマジックリンクなどの非組織メールを含む**すべての**メールを、環境変数で設定されたグローバルメーラー経由でルーティングできます。
448
+ パスワードのリセットやマジックリンクなど、組織外のメールを含むすべてのトランザクションメールは、次の2つのグローバルトランスポートのいずれかを経由します:
210
449
 
211
- `MAIL_PROVIDER` を設定して有効にしてください。設定されていない場合は、デフォルトの Resend メーラーが使用されます。
450
+ - **Resend**: `RESEND_API_KEY` を使用。
451
+ - **SMTP**: `MAIL_SMTP_*` 変数を使用。`MAIL_SMTP_HOST` が設定されると直ちに SMTP が使用され、`RESEND_API_KEY` は無視されます。
212
452
 
213
- | Variable | Example | Description |
214
- | -------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------ |
215
- | `MAIL_PROVIDER` | `smtp` | グローバルトランスポート: `smtp` または `resend`。デフォルトを使用する場合は未設定のままにしてください |
216
- | `MAIL_FROM` | `Intlayer <no-reply@acme.com>` | 送信者ヘッダー。ベアアドレスまたは `Name <email>` 形式を受け入れます |
217
- | `MAIL_SMTP_HOST` | `smtp.acme.com` | SMTP ホスト (`MAIL_PROVIDER=smtp` の場合は必須) |
218
- | `MAIL_SMTP_PORT` | `587` | SMTP ポート (デフォルトは `587`) |
219
- | `MAIL_SMTP_SECURE` | `false` | 暗黙的な TLS。ポート `465` の場合は `true` に設定してください |
220
- | `MAIL_SMTP_USER` | _(your user)_ | SMTP ユーザー名 (オプション; 認証されていないリレーの場合は省略可) |
221
- | `MAIL_SMTP_PASSWORD` | _(your password)_ | SMTP パスワード |
453
+ `MAIL_PROVIDER` は、両方が構成されている場合に一方のトランスポートを強制するためにのみ必要です(たとえば、SMTP ホストが存在する場合に Resend を維持するために `MAIL_PROVIDER=resend`)。
222
454
 
223
- > 優先順位: 組織独自のメーラー (**Organization** ダッシュボードから設定) が優先され、次にグローバルメーラーが優先され、最後にデフォルトの Resend キーが優先されます。
455
+ | Variable | Example | Description |
456
+ | -------------------- | ------------------------------ | ---------------------------------------------------------------------------- |
457
+ | `MAIL_FROM` | `Intlayer <no-reply@acme.com>` | Sender header for either transport. Accepts a bare address or `Name <email>` |
458
+ | `MAIL_SMTP_HOST` | `smtp.acme.com` | SMTP host. Setting it selects the SMTP transport |
459
+ | `MAIL_SMTP_PORT` | `587` | SMTP port (defaults to `587`) |
460
+ | `MAIL_SMTP_SECURE` | `false` | Implicit TLS. Set `true` for port `465` |
461
+ | `MAIL_SMTP_USER` | _(your user)_ | SMTP username (optional; omit for unauthenticated relays) |
462
+ | `MAIL_SMTP_PASSWORD` | _(your password)_ | SMTP password |
463
+ | `MAIL_PROVIDER` | `resend` | Optional override: `smtp` or `resend`. Leave unset to auto-select |
224
464
 
225
- ## Intlayerプロジェクトの接続
465
+ > 優先順位: 組織独自のメーラー(**組織** ダッシュボードから構成)はグローバルメーラーよりも優先され、グローバルメーラーはデフォルトの Resend キーよりも優先されます。
226
466
 
227
- スタックが稼働したら、`intlayer.org` の代わりに自己ホスト型のバックエンドとダッシュボードを指すようにプロジェクトを設定します。
467
+ ## Intlayer プロジェクトの接続
468
+
469
+ スタックが実行されたら、`intlayer.org` ではなく、セルフホストされたバックエンドとダッシュボードを指すようにプロジェクトを設定します。
228
470
 
229
471
  ### プロジェクト設定
230
472
 
@@ -237,23 +479,23 @@ const config: IntlayerConfig = {
237
479
  clientSecret: process.env.INTLAYER_CLIENT_SECRET,
238
480
 
239
481
  /**
240
- * 自己ホスト型CMSダッシュボードのURL。
241
- * デフォルト: https://app.intlayer.org
482
+ * URL of the self-hosted CMS dashboard.
483
+ * Default: https://app.intlayer.org
242
484
  */
243
- cmsURL: process.env.INTLAYER_CMS_URL, // 例: http://localhost:3000
485
+ cmsURL: process.env.INTLAYER_CMS_URL, // e.g. http://localhost:3000
244
486
 
245
487
  /**
246
- * 自己ホスト型バックエンドAPIのURL。
247
- * デフォルト: https://back.intlayer.org
488
+ * URL of the self-hosted backend API.
489
+ * Default: https://back.intlayer.org
248
490
  */
249
- backendURL: process.env.INTLAYER_BACKEND_URL, // 例: http://localhost:3100
491
+ backendURL: process.env.INTLAYER_BACKEND_URL, // e.g. http://localhost:3100
250
492
  },
251
493
  };
252
494
 
253
495
  export default config;
254
496
  ```
255
497
 
256
- プロジェクトの `.env` で環境変数を設定します。
498
+ Set the environment variables in your project's `.env`:
257
499
 
258
500
  ```sh
259
501
  INTLAYER_CMS_URL=http://localhost:3000
@@ -262,11 +504,11 @@ INTLAYER_CLIENT_ID=<your-client-id>
262
504
  INTLAYER_CLIENT_SECRET=<your-client-secret>
263
505
  ```
264
506
 
265
- 自己ホスト型ダッシュボードの **Projects → Access keys** (`http://localhost:3000/projects`) でアクセス認証情報を作成します。
507
+ セルフホストダッシュボードの **Projects → Access keys** (`http://localhost:3000/projects`) でアクセス資格情報を作成します。
266
508
 
267
509
  ### `@intlayer/api` SDK
268
510
 
269
- `@intlayer/api` SDKをプログラムで利用する場合は、`backendURL` を明示的に渡します。
511
+ プログラムで `@intlayer/api` SDK を使用する場合、`backendURL` を明示的に渡します:
270
512
 
271
513
  ```typescript fileName="cms.ts" codeFormat="typescript"
272
514
  import { createIntlayerCMS } from "@intlayer/api";
@@ -283,84 +525,17 @@ const cms = createIntlayerCMS({
283
525
  const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
284
526
  ```
285
527
 
286
- ## アップグレード
287
-
288
- これにより、最新のイメージがプルされ、`docker compose pull && docker compose up -d` でコンテナが再起動されます。既存のボリューム (`mongo-data`、`redis-data`、`minio-data`) は保持され、データ損失はありません。
289
-
290
- ```sh
291
- docker compose pull
292
- docker compose up -d
293
- ```
294
-
295
- ## バックアップと復元
296
-
297
- すべての永続データは、3つの名前付きDockerボリュームに保存されます。
298
-
299
- ### バックアップ
300
-
301
- ```sh
302
- docker run --rm \
303
- -v intlayer_mongo-data:/data \
304
- -v "$(pwd)":/backup \
305
- busybox tar czf /backup/mongo-data.tar.gz /data
306
-
307
- docker run --rm \
308
- -v intlayer_redis-data:/data \
309
- -v "$(pwd)":/backup \
310
- busybox tar czf /backup/redis-data.tar.gz /data
311
-
312
- docker run --rm \
313
- -v intlayer_minio-data:/data \
314
- -v "$(pwd)":/backup \
315
- busybox tar czf /backup/minio-data.tar.gz /data
316
- ```
317
-
318
- ### 復元
319
-
320
- ```sh
321
- docker run --rm \
322
- -v intlayer_mongo-data:/data \
323
- -v "$(pwd)":/backup \
324
- busybox tar xzf /backup/mongo-data.tar.gz -C /
325
-
326
- # redis-data と minio-data についても同様に繰り返します
327
- ```
328
-
329
528
  ## 制限事項
330
529
 
331
- - **MongoDB は外部 (Atlas) である必要があります。** バックエンドは `mongodb+srv://` 経由でのみ接続します (`DB_ID` / `DB_MDP` / `DB_CLUSTER` から構築)。したがって、プレーンな `mongodb://host:27017` — コンテナにバンドルされた `mongod` を含む — は使用できません。MongoDB Atlas クラスタを提供してください。
332
- - **カスタムドメインはサポートされていません。** すべてのブラウザ向け `VITE_*` URL はビルド時にアプリにインラインされ、公開されたイメージには `localhost` の値が付属します。ダッシュボードには `http://localhost:3000` でアクセスする必要があります。パブリックドメインでサービスするには、イメージをターゲット URL を焼き込んで再構築する必要があり、そのままではサポートされていません。
333
- - **メールは機能するメーラーが必要です。** 初回実行セットアップではメール検証が強制されるため、`RESEND_API_KEY` または [グローバル SMTP メーラー](#global-mailer) (`MAIL_PROVIDER=smtp` + `MAIL_SMTP_*`) を設定する必要があります。最初の管理者がサインインした後、各組織はダッシュボードから独自の SMTP または Resend メーラーを設定することもできます。
334
-
335
- ## トラブルシューティング
336
-
337
- ### 最初の起動時にバックエンドがクラッシュループする
338
-
339
- バックエンドが起動する前に、MongoDBとRedisが正常である必要があります。composeファイルは `condition: service_healthy` とともに `depends_on` を使用しています。バックエンドの再起動が繰り返される場合は、`mongo` と `redis` のヘルスチェックがパスしているか確認してください。
340
-
341
- ```sh
342
- docker compose ps
343
- docker compose logs mongo
344
- docker compose logs redis
345
- ```
346
-
347
- ログの上部付近で `MongoDB connection error` を探してください。
348
-
349
- ### メールが送信されない
350
-
351
- デフォルトでは、すべての送信メールはMailpitによって捕捉されます。送信されたメッセージを確認するには、`http://localhost:8025` を開いてください。実際のメールを送信するには、`.env` で `MAIL_PROVIDER=resend` と `RESEND_API_KEY=<your-key>` を設定し、バックエンドを再起動します。
352
-
353
- ### MinIOバケットが見つからない
354
-
355
- `minio-init` ワンショットサービスが実行されなかった場合 (またはMinIOが準備できる前に実行された場合) は、手動でバケットを作成してください。
356
-
357
- ```sh
358
- docker compose run --rm minio-init
359
- ```
530
+ - **カスタムドメインおよびポート再マッピングの未対応。** ブラウザ向けのすべての `VITE_*` URL はビルド時にダッシュボードに組み込まれ、公開イメージ(およびデスクトップアプリ)には `localhost` / Intlayer Cloud の値が設定されています。ダッシュボードは `http://localhost:3000`、API は `:3100`、MinIO は `:9000` でアクセスする必要があります。公開ドメインでホストする場合、またはデスクトップアプリをセルフホストバックエンドに向ける場合は、ターゲット URL を組み込んだ状態でのリビルド(`docker/selfhost/Dockerfile` または `docker-compose.build.yml` 上で `--build-arg VITE_BACKEND_URL=… VITE_SITE_URL=… VITE_DOMAIN=…` を指定)が必要であり、初期状態ではサポートされていません。
531
+ - **メール送信には機能するメーラーが必要です。** 初回セットアップではメール確認が必須となるため、`RESEND_API_KEY` または [SMTP リレー](#global-mailer) (`MAIL_SMTP_*`) のいずれかを構成する必要があります。最初の管理者がサインインした後、各組織はダッシュボードから独自の SMTP または Resend メーラーを構成することもできます。
532
+ - **デスクトップアプリは組み込みサーバーを起動するためにマシン上に Node.js を必要とします。**
360
533
 
361
- ## 役立つリンク
534
+ ## 便利なリンク
362
535
 
363
536
  - [Intlayer CMS ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_CMS.md)
364
537
  - [設定リファレンス](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)
365
- - [CMS SDK — `@intlayer/api`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_CMS.md#programmatic-access-with-the-intlayerapi-sdk)
366
- - [Docker Image (aymercizip/intlayer-selfhost)](https://hub.docker.com/repository/docker/aymercizip/intlayer-selfhost/general)
538
+ - [CMS SDK: `@intlayer/api`](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_CMS.md#programmatic-access-with-the-intlayerapi-sdk)
539
+ - [デスクトップアプリのリリース](https://github.com/aymericzip/intlayer/releases/latest)
540
+ - Docker Hub: [`intlayer/cms-all`](https://hub.docker.com/r/intlayer/cms-all), [`intlayer/cms-frontend`](https://hub.docker.com/r/intlayer/cms-frontend), [`intlayer/cms-backend`](https://hub.docker.com/r/intlayer/cms-backend)、GHCR ミラー: `ghcr.io/aymericzip/intlayer/`
541
+ - [`docker/selfhost/`](https://github.com/aymericzip/intlayer/tree/main/docker/selfhost): Dockerfile、`docker-compose.yml`、`.env.template`