@simplehomelab/deployrr 6.0.0-rc3

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 (472) hide show
  1. package/announcement +1 -0
  2. package/apps/community/CONTRIBUTING.md +660 -0
  3. package/apps/community/apps.json +6 -0
  4. package/apps/core/apps.json +16 -0
  5. package/apps/core/authelia/authelia-redis.yml +24 -0
  6. package/apps/core/authelia/compose.yml +45 -0
  7. package/apps/core/authelia/files/chain-authelia.yml +8 -0
  8. package/apps/core/authelia/files/configuration.yml +100 -0
  9. package/apps/core/authelia/files/middlewares-authelia.yml +9 -0
  10. package/apps/core/authelia/files/users.yml +15 -0
  11. package/apps/core/authelia/manifest.json +156 -0
  12. package/apps/core/authentik/authentik-postgresql.yml +26 -0
  13. package/apps/core/authentik/authentik-worker.yml +37 -0
  14. package/apps/core/authentik/compose.yml +51 -0
  15. package/apps/core/authentik/files/chain-authentik.yml +8 -0
  16. package/apps/core/authentik/files/middlewares-authentik.yml +19 -0
  17. package/apps/core/authentik/manifest.json +117 -0
  18. package/apps/core/crowdsec/compose.yml +23 -0
  19. package/apps/core/crowdsec/files/acquis-traefik.yaml +4 -0
  20. package/apps/core/crowdsec/files/acquis.yaml +8 -0
  21. package/apps/core/crowdsec/files/crowdsec-firewall-bouncer.yaml +46 -0
  22. package/apps/core/crowdsec/files/custom-whitelists.yaml +13 -0
  23. package/apps/core/crowdsec/manifest.json +87 -0
  24. package/apps/core/crowdsec-firewall-bouncer/manifest.json +85 -0
  25. package/apps/core/deployrr/jokes_and_tips.txt +58 -0
  26. package/apps/core/deployrr-dashboard/compose.yml +23 -0
  27. package/apps/core/deployrr-dashboard/files/bookmarks.yaml +51 -0
  28. package/apps/core/deployrr-dashboard/files/deployrr_icon.ico +0 -0
  29. package/apps/core/deployrr-dashboard/files/deployrr_icon.png +0 -0
  30. package/apps/core/deployrr-dashboard/files/docker.yaml +10 -0
  31. package/apps/core/deployrr-dashboard/files/service-template-other.yaml +10 -0
  32. package/apps/core/deployrr-dashboard/files/service-template-web-local.yaml +10 -0
  33. package/apps/core/deployrr-dashboard/files/service-template-web-remote.yaml +10 -0
  34. package/apps/core/deployrr-dashboard/files/services.yaml +18 -0
  35. package/apps/core/deployrr-dashboard/files/settings.yaml +13 -0
  36. package/apps/core/deployrr-dashboard/files/widgets.yaml +20 -0
  37. package/apps/core/deployrr-dashboard/manifest.json +133 -0
  38. package/apps/core/npm/compose.yml +40 -0
  39. package/apps/core/npm/manifest.json +60 -0
  40. package/apps/core/oauth/compose.yml +38 -0
  41. package/apps/core/oauth/files/chain-oauth.yml +8 -0
  42. package/apps/core/oauth/files/middlewares-oauth.yml +8 -0
  43. package/apps/core/oauth/files/oauth-secrets-template +3 -0
  44. package/apps/core/oauth/manifest.json +58 -0
  45. package/apps/core/socket-proxy/compose.yml +54 -0
  46. package/apps/core/socket-proxy/manifest.json +62 -0
  47. package/apps/core/system/bash-aliases/udms_bash_aliases +229 -0
  48. package/apps/core/system/bash-aliases/udms_bashrc +5 -0
  49. package/apps/core/system/docker/custom.yml +4 -0
  50. package/apps/core/system/docker/starter.yml +25 -0
  51. package/apps/core/system/rclone/compose.yml +28 -0
  52. package/apps/core/system/rclone/rclone-mount-template.service +43 -0
  53. package/apps/core/system/rclone/rclone-template.conf +6 -0
  54. package/apps/core/system/rclone/start-media-after-boot.service +9 -0
  55. package/apps/core/system/rclone/start-media-after-boot.sh +57 -0
  56. package/apps/core/tinyauth/compose.yml +47 -0
  57. package/apps/core/tinyauth/files/chain-tinyauth.yml +8 -0
  58. package/apps/core/tinyauth/files/middlewares-tinyauth.yml +10 -0
  59. package/apps/core/tinyauth/manifest.json +70 -0
  60. package/apps/core/traefik/compose.yml +106 -0
  61. package/apps/core/traefik/files/app-http-bypass-template.yml +31 -0
  62. package/apps/core/traefik/files/app-http-template.yml +18 -0
  63. package/apps/core/traefik/files/app-https-ssc-bypass-template.yml +36 -0
  64. package/apps/core/traefik/files/app-https-ssc-template.yml +23 -0
  65. package/apps/core/traefik/files/chain-basic-auth.yml +9 -0
  66. package/apps/core/traefik/files/chain-nextcloud.yml +8 -0
  67. package/apps/core/traefik/files/chain-no-auth.yml +8 -0
  68. package/apps/core/traefik/files/domain-passthrough-template.yml +15 -0
  69. package/apps/core/traefik/files/labels-auth-bypass-template.yml +6 -0
  70. package/apps/core/traefik/files/labels-template.yml +10 -0
  71. package/apps/core/traefik/files/middlewares-basic-auth.yml +9 -0
  72. package/apps/core/traefik/files/middlewares-buffering.yml +9 -0
  73. package/apps/core/traefik/files/middlewares-compress.yml +4 -0
  74. package/apps/core/traefik/files/middlewares-crowdsec-bouncer.yml +13 -0
  75. package/apps/core/traefik/files/middlewares-nextcloud.yml +35 -0
  76. package/apps/core/traefik/files/middlewares-rate-limit.yml +6 -0
  77. package/apps/core/traefik/files/middlewares-secure-headers.yml +26 -0
  78. package/apps/core/traefik/files/t2_proxy_network.yml +8 -0
  79. package/apps/core/traefik/files/tls-opts.yml +19 -0
  80. package/apps/core/traefik/files/traefik-static-config-example.yml +97 -0
  81. package/apps/core/traefik/files/traefik.yml +123 -0
  82. package/apps/core/traefik/files/traefik_global_secrets_template.yml +4 -0
  83. package/apps/core/traefik/files/traefik_proxy_network.yml +8 -0
  84. package/apps/core/traefik/manifest.json +70 -0
  85. package/apps/manifest-schema.json +760 -0
  86. package/apps/official/adminer/compose.yml +14 -0
  87. package/apps/official/adminer/manifest.json +65 -0
  88. package/apps/official/airsonic-advanced/compose.yml +26 -0
  89. package/apps/official/airsonic-advanced/manifest.json +78 -0
  90. package/apps/official/apps.json +146 -0
  91. package/apps/official/audiobookshelf/compose.yml +20 -0
  92. package/apps/official/audiobookshelf/manifest.json +65 -0
  93. package/apps/official/autobrr/autobrr-postgresql.yml +24 -0
  94. package/apps/official/autobrr/compose.yml +27 -0
  95. package/apps/official/autobrr/manifest.json +101 -0
  96. package/apps/official/baikal/compose.yml +17 -0
  97. package/apps/official/baikal/manifest.json +65 -0
  98. package/apps/official/bazarr/compose.yml +23 -0
  99. package/apps/official/bazarr/manifest.json +65 -0
  100. package/apps/official/beets/compose.yml +24 -0
  101. package/apps/official/beets/manifest.json +65 -0
  102. package/apps/official/bookstack/bookstack-mariadb.yml +26 -0
  103. package/apps/official/bookstack/compose.yml +31 -0
  104. package/apps/official/bookstack/manifest.json +113 -0
  105. package/apps/official/boxarr/compose.yml +18 -0
  106. package/apps/official/boxarr/manifest.json +65 -0
  107. package/apps/official/cadvisor/compose.yml +23 -0
  108. package/apps/official/cadvisor/files/pre-install.sh +10 -0
  109. package/apps/official/cadvisor/manifest.json +69 -0
  110. package/apps/official/calibre/compose.yml +27 -0
  111. package/apps/official/calibre/manifest.json +87 -0
  112. package/apps/official/calibre-web/compose.yml +23 -0
  113. package/apps/official/calibre-web/manifest.json +74 -0
  114. package/apps/official/change-detection/compose.yml +22 -0
  115. package/apps/official/change-detection/manifest.json +65 -0
  116. package/apps/official/chromium/compose.yml +25 -0
  117. package/apps/official/chromium/manifest.json +82 -0
  118. package/apps/official/cleanuparr/compose.yml +30 -0
  119. package/apps/official/cleanuparr/manifest.json +65 -0
  120. package/apps/official/cloud-commander/compose.yml +24 -0
  121. package/apps/official/cloud-commander/manifest.json +65 -0
  122. package/apps/official/cloudflare-tunnel/compose.yml +26 -0
  123. package/apps/official/cloudflare-tunnel/files/pre-install.sh +7 -0
  124. package/apps/official/cloudflare-tunnel/manifest.json +70 -0
  125. package/apps/official/cyberchef/compose.yml +14 -0
  126. package/apps/official/cyberchef/manifest.json +65 -0
  127. package/apps/official/dashy/compose.yml +27 -0
  128. package/apps/official/dashy/files/starter-conf.yml +45 -0
  129. package/apps/official/dashy/manifest.json +72 -0
  130. package/apps/official/ddns-updater/compose.yml +28 -0
  131. package/apps/official/ddns-updater/files/config.json +14 -0
  132. package/apps/official/ddns-updater/files/pre-install.sh +18 -0
  133. package/apps/official/ddns-updater/manifest.json +71 -0
  134. package/apps/official/deunhealth/compose.yml +17 -0
  135. package/apps/official/deunhealth/manifest.json +46 -0
  136. package/apps/official/digikam/compose.yml +23 -0
  137. package/apps/official/digikam/manifest.json +85 -0
  138. package/apps/official/dispatcharr/compose.yml +39 -0
  139. package/apps/official/dispatcharr/manifest.json +86 -0
  140. package/apps/official/docker-gc/compose.yml +25 -0
  141. package/apps/official/docker-gc/files/docker-gc-exclude +9 -0
  142. package/apps/official/docker-gc/files/pre-install.sh +22 -0
  143. package/apps/official/docker-gc/manifest.json +54 -0
  144. package/apps/official/dockhand/compose.yml +24 -0
  145. package/apps/official/dockhand/dockhand-postgresql.yml +24 -0
  146. package/apps/official/dockhand/manifest.json +105 -0
  147. package/apps/official/dockpeek/compose.yml +20 -0
  148. package/apps/official/dockpeek/manifest.json +95 -0
  149. package/apps/official/dockwatch/compose.yml +31 -0
  150. package/apps/official/dockwatch/manifest.json +65 -0
  151. package/apps/official/dokuwiki/compose.yml +21 -0
  152. package/apps/official/dokuwiki/manifest.json +81 -0
  153. package/apps/official/double-commander/compose.yml +26 -0
  154. package/apps/official/double-commander/manifest.json +83 -0
  155. package/apps/official/dozzle/compose.yml +23 -0
  156. package/apps/official/dozzle/manifest.json +65 -0
  157. package/apps/official/dozzle-agent/compose.yml +26 -0
  158. package/apps/official/dozzle-agent/manifest.json +71 -0
  159. package/apps/official/dweebui/compose.yml +21 -0
  160. package/apps/official/dweebui/manifest.json +81 -0
  161. package/apps/official/emby/compose.yml +29 -0
  162. package/apps/official/emby/manifest.json +98 -0
  163. package/apps/official/esphome/compose.yml +20 -0
  164. package/apps/official/esphome/manifest.json +65 -0
  165. package/apps/official/filezilla/compose.yml +23 -0
  166. package/apps/official/filezilla/manifest.json +82 -0
  167. package/apps/official/flame/compose.yml +21 -0
  168. package/apps/official/flame/manifest.json +73 -0
  169. package/apps/official/flaresolverr/compose.yml +19 -0
  170. package/apps/official/flaresolverr/manifest.json +75 -0
  171. package/apps/official/flowise/compose.yml +46 -0
  172. package/apps/official/flowise/flowise-postgresql.yml +24 -0
  173. package/apps/official/flowise/flowise-redis.yml +23 -0
  174. package/apps/official/flowise/manifest.json +125 -0
  175. package/apps/official/freshrss/compose.yml +20 -0
  176. package/apps/official/freshrss/manifest.json +65 -0
  177. package/apps/official/funkwhale/compose.yml +24 -0
  178. package/apps/official/funkwhale/files/post-install.sh +8 -0
  179. package/apps/official/funkwhale/manifest.json +69 -0
  180. package/apps/official/gamevault/compose.yml +26 -0
  181. package/apps/official/gamevault/gamevault-postgresql.yml +24 -0
  182. package/apps/official/gamevault/manifest.json +101 -0
  183. package/apps/official/glances/compose.yml +26 -0
  184. package/apps/official/glances/files/glances.conf +771 -0
  185. package/apps/official/glances/manifest.json +72 -0
  186. package/apps/official/gluetun/compose.yml +33 -0
  187. package/apps/official/gluetun/files/post-install.sh +78 -0
  188. package/apps/official/gluetun/manifest.json +88 -0
  189. package/apps/official/gonic/compose.yml +26 -0
  190. package/apps/official/gonic/manifest.json +78 -0
  191. package/apps/official/gptwol/compose.yml +23 -0
  192. package/apps/official/gptwol/manifest.json +81 -0
  193. package/apps/official/grafana/compose.yml +19 -0
  194. package/apps/official/grafana/manifest.json +81 -0
  195. package/apps/official/grocy/compose.yml +20 -0
  196. package/apps/official/grocy/manifest.json +74 -0
  197. package/apps/official/guacamole/compose.yml +26 -0
  198. package/apps/official/guacamole/guacamole-mariadb.yml +26 -0
  199. package/apps/official/guacamole/guacd.yml +12 -0
  200. package/apps/official/guacamole/hooks/post-install.sh +60 -0
  201. package/apps/official/guacamole/manifest.json +131 -0
  202. package/apps/official/heimdall/compose.yml +20 -0
  203. package/apps/official/heimdall/manifest.json +65 -0
  204. package/apps/official/homarr/compose.yml +22 -0
  205. package/apps/official/homarr/manifest.json +73 -0
  206. package/apps/official/homebridge/compose.yml +13 -0
  207. package/apps/official/homebridge/manifest.json +66 -0
  208. package/apps/official/homepage/compose.yml +22 -0
  209. package/apps/official/homepage/manifest.json +65 -0
  210. package/apps/official/homer/compose.yml +20 -0
  211. package/apps/official/homer/manifest.json +65 -0
  212. package/apps/official/immich/compose.yml +35 -0
  213. package/apps/official/immich/immich-machine-learning.yml +21 -0
  214. package/apps/official/immich/immich-postgresql.yml +30 -0
  215. package/apps/official/immich/immich-redis.yml +23 -0
  216. package/apps/official/immich/manifest.json +135 -0
  217. package/apps/official/influxdb/compose.yml +17 -0
  218. package/apps/official/influxdb/manifest.json +65 -0
  219. package/apps/official/it-tools/compose.yml +14 -0
  220. package/apps/official/it-tools/manifest.json +65 -0
  221. package/apps/official/jackett/compose.yml +21 -0
  222. package/apps/official/jackett/manifest.json +65 -0
  223. package/apps/official/jellyfin/compose.yml +27 -0
  224. package/apps/official/jellyfin/manifest.json +89 -0
  225. package/apps/official/jellyseerr/compose.yml +19 -0
  226. package/apps/official/jellyseerr/manifest.json +65 -0
  227. package/apps/official/kasm/compose.yml +27 -0
  228. package/apps/official/kasm/manifest.json +115 -0
  229. package/apps/official/kavita/compose.yml +21 -0
  230. package/apps/official/kavita/manifest.json +65 -0
  231. package/apps/official/kometa/compose.yml +23 -0
  232. package/apps/official/kometa/manifest.json +56 -0
  233. package/apps/official/komga/compose.yml +22 -0
  234. package/apps/official/komga/manifest.json +65 -0
  235. package/apps/official/langfuse/compose.yml +64 -0
  236. package/apps/official/langfuse/files/pre-install.sh +178 -0
  237. package/apps/official/langfuse/langfuse-clickhouse.yml +25 -0
  238. package/apps/official/langfuse/langfuse-minio.yml +25 -0
  239. package/apps/official/langfuse/langfuse-postgresql.yml +26 -0
  240. package/apps/official/langfuse/langfuse-redis.yml +22 -0
  241. package/apps/official/langfuse/langfuse-worker.yml +50 -0
  242. package/apps/official/langfuse/manifest.json +201 -0
  243. package/apps/official/lidarr/compose.yml +25 -0
  244. package/apps/official/lidarr/manifest.json +65 -0
  245. package/apps/official/lollypop/compose.yml +26 -0
  246. package/apps/official/lollypop/manifest.json +83 -0
  247. package/apps/official/maintainerr/compose.yml +20 -0
  248. package/apps/official/maintainerr/manifest.json +72 -0
  249. package/apps/official/mariadb/compose.yml +27 -0
  250. package/apps/official/mariadb/manifest.json +74 -0
  251. package/apps/official/mosquitto/compose.yml +24 -0
  252. package/apps/official/mosquitto/files/mosquitto.conf +15 -0
  253. package/apps/official/mosquitto/files/passwd +0 -0
  254. package/apps/official/mosquitto/files/post-install.sh +23 -0
  255. package/apps/official/mosquitto/manifest.json +123 -0
  256. package/apps/official/mqttx-web/compose.yml +14 -0
  257. package/apps/official/mqttx-web/manifest.json +74 -0
  258. package/apps/official/mylar3/compose.yml +22 -0
  259. package/apps/official/mylar3/manifest.json +65 -0
  260. package/apps/official/n8n/compose.yml +29 -0
  261. package/apps/official/n8n/files/pre-install.sh +26 -0
  262. package/apps/official/n8n/manifest.json +103 -0
  263. package/apps/official/n8n/n8n-postgresql.yml +26 -0
  264. package/apps/official/navidrome/compose.yml +26 -0
  265. package/apps/official/navidrome/manifest.json +65 -0
  266. package/apps/official/netdata/compose.yml +28 -0
  267. package/apps/official/netdata/manifest.json +66 -0
  268. package/apps/official/nextcloud/compose.yml +38 -0
  269. package/apps/official/nextcloud/manifest.json +159 -0
  270. package/apps/official/nextcloud/nextcloud-mariadb.yml +29 -0
  271. package/apps/official/nextcloud/nextcloud-redis.yml +20 -0
  272. package/apps/official/node-exporter/compose.yml +23 -0
  273. package/apps/official/node-exporter/manifest.json +65 -0
  274. package/apps/official/node-red/compose.yml +16 -0
  275. package/apps/official/node-red/manifest.json +72 -0
  276. package/apps/official/notifiarr/compose.yml +23 -0
  277. package/apps/official/notifiarr/manifest.json +75 -0
  278. package/apps/official/nzbget/compose.yml +23 -0
  279. package/apps/official/nzbget/manifest.json +74 -0
  280. package/apps/official/ollama/compose.yml +17 -0
  281. package/apps/official/ollama/manifest.json +85 -0
  282. package/apps/official/ombi/compose.yml +21 -0
  283. package/apps/official/ombi/manifest.json +65 -0
  284. package/apps/official/open-webui/compose.yml +21 -0
  285. package/apps/official/open-webui/manifest.json +75 -0
  286. package/apps/official/openhands/compose.yml +23 -0
  287. package/apps/official/openhands/manifest.json +65 -0
  288. package/apps/official/organizr/compose.yml +19 -0
  289. package/apps/official/organizr/manifest.json +78 -0
  290. package/apps/official/overseerr/compose.yml +20 -0
  291. package/apps/official/overseerr/manifest.json +65 -0
  292. package/apps/official/paperless-ai/compose.yml +16 -0
  293. package/apps/official/paperless-ai/manifest.json +74 -0
  294. package/apps/official/paperless-ngx/compose.yml +51 -0
  295. package/apps/official/paperless-ngx/gotenberg.yml +18 -0
  296. package/apps/official/paperless-ngx/manifest.json +179 -0
  297. package/apps/official/paperless-ngx/paperless-ngx-mariadb.yml +26 -0
  298. package/apps/official/paperless-ngx/paperless-ngx-redis.yml +23 -0
  299. package/apps/official/paperless-ngx/tika.yml +12 -0
  300. package/apps/official/pdfding/compose.yml +32 -0
  301. package/apps/official/pdfding/files/post-install.sh +55 -0
  302. package/apps/official/pdfding/manifest.json +120 -0
  303. package/apps/official/pdfding/pdfding-postgresql.yml +24 -0
  304. package/apps/official/pgadmin/compose.yml +17 -0
  305. package/apps/official/pgadmin/manifest.json +80 -0
  306. package/apps/official/phpmyadmin/compose.yml +22 -0
  307. package/apps/official/phpmyadmin/manifest.json +65 -0
  308. package/apps/official/pihole/compose.yml +41 -0
  309. package/apps/official/pihole/manifest.json +89 -0
  310. package/apps/official/piwigo/compose.yml +22 -0
  311. package/apps/official/piwigo/manifest.json +65 -0
  312. package/apps/official/plex/compose.yml +39 -0
  313. package/apps/official/plex/files/pre-install.sh +24 -0
  314. package/apps/official/plex/manifest.json +109 -0
  315. package/apps/official/portainer/compose.yml +22 -0
  316. package/apps/official/portainer/manifest.json +91 -0
  317. package/apps/official/postgresql/compose.yml +28 -0
  318. package/apps/official/postgresql/manifest.json +89 -0
  319. package/apps/official/privatebin/compose.yml +20 -0
  320. package/apps/official/privatebin/files/conf.php +90 -0
  321. package/apps/official/privatebin/manifest.json +82 -0
  322. package/apps/official/projectsend/compose.yml +21 -0
  323. package/apps/official/projectsend/manifest.json +72 -0
  324. package/apps/official/prometheus/compose.yml +25 -0
  325. package/apps/official/prometheus/files/prometheus.yml +3 -0
  326. package/apps/official/prometheus/manifest.json +79 -0
  327. package/apps/official/prowlarr/compose.yml +22 -0
  328. package/apps/official/prowlarr/manifest.json +65 -0
  329. package/apps/official/pulse/compose.yml +28 -0
  330. package/apps/official/pulse/files/post-install.sh +29 -0
  331. package/apps/official/pulse/manifest.json +78 -0
  332. package/apps/official/qbittorrent/compose.yml +22 -0
  333. package/apps/official/qbittorrent/files/pre-install.sh +5 -0
  334. package/apps/official/qbittorrent/files/qBittorrent.conf +39 -0
  335. package/apps/official/qbittorrent/manifest.json +96 -0
  336. package/apps/official/qbittorrent-vpn/compose.yml +26 -0
  337. package/apps/official/qbittorrent-vpn/files/post-install.sh +52 -0
  338. package/apps/official/qbittorrent-vpn/files/pre-install.sh +10 -0
  339. package/apps/official/qbittorrent-vpn/files/qBittorrent.conf +39 -0
  340. package/apps/official/qbittorrent-vpn/manifest.json +108 -0
  341. package/apps/official/qdrant/compose.yml +15 -0
  342. package/apps/official/qdrant/manifest.json +82 -0
  343. package/apps/official/radarr/compose.yml +25 -0
  344. package/apps/official/radarr/manifest.json +65 -0
  345. package/apps/official/redis/compose.yml +26 -0
  346. package/apps/official/redis/manifest.json +73 -0
  347. package/apps/official/redis-commander/compose.yml +20 -0
  348. package/apps/official/redis-commander/manifest.json +65 -0
  349. package/apps/official/remmina/compose.yml +23 -0
  350. package/apps/official/remmina/manifest.json +84 -0
  351. package/apps/official/resilio-sync/compose.yml +23 -0
  352. package/apps/official/resilio-sync/manifest.json +74 -0
  353. package/apps/official/sabnzbd/compose.yml +23 -0
  354. package/apps/official/sabnzbd/files/post-install.sh +35 -0
  355. package/apps/official/sabnzbd/manifest.json +75 -0
  356. package/apps/official/scrutiny/compose.yml +25 -0
  357. package/apps/official/scrutiny/manifest.json +113 -0
  358. package/apps/official/scrutiny/scrutiny-influxdb.yml +28 -0
  359. package/apps/official/searxng/compose.yml +28 -0
  360. package/apps/official/searxng/files/limiter.toml +6 -0
  361. package/apps/official/searxng/files/pre-install.sh +25 -0
  362. package/apps/official/searxng/files/settings.yml +8 -0
  363. package/apps/official/searxng/manifest.json +88 -0
  364. package/apps/official/searxng/searxng-valkey.yml +26 -0
  365. package/apps/official/shellinabox/manifest.json +68 -0
  366. package/apps/official/smokeping/compose.yml +21 -0
  367. package/apps/official/smokeping/manifest.json +65 -0
  368. package/apps/official/sonarr/compose.yml +25 -0
  369. package/apps/official/sonarr/manifest.json +65 -0
  370. package/apps/official/speedtest-tracker/compose.yml +30 -0
  371. package/apps/official/speedtest-tracker/manifest.json +119 -0
  372. package/apps/official/speedtest-tracker/speedtest-tracker-mariadb.yml +24 -0
  373. package/apps/official/sshwifty/compose.yml +17 -0
  374. package/apps/official/sshwifty/files/pre-install.sh +34 -0
  375. package/apps/official/sshwifty/files/sshwifty.conf.json +36 -0
  376. package/apps/official/sshwifty/manifest.json +101 -0
  377. package/apps/official/stirling-pdf/compose.yml +23 -0
  378. package/apps/official/stirling-pdf/manifest.json +65 -0
  379. package/apps/official/supabase/compose.yml +39 -0
  380. package/apps/official/supabase/files/pre-install.sh +201 -0
  381. package/apps/official/supabase/files/volumes/api/kong.yml +221 -0
  382. package/apps/official/supabase/files/volumes/db/_supabase.sql +3 -0
  383. package/apps/official/supabase/files/volumes/db/jwt.sql +5 -0
  384. package/apps/official/supabase/files/volumes/db/logs.sql +6 -0
  385. package/apps/official/supabase/files/volumes/db/pooler.sql +6 -0
  386. package/apps/official/supabase/files/volumes/db/realtime.sql +4 -0
  387. package/apps/official/supabase/files/volumes/db/roles.sql +8 -0
  388. package/apps/official/supabase/files/volumes/db/webhooks.sql +208 -0
  389. package/apps/official/supabase/files/volumes/functions/hello/index.ts +6 -0
  390. package/apps/official/supabase/files/volumes/functions/main/index.ts +93 -0
  391. package/apps/official/supabase/files/volumes/logs/vector.yml +266 -0
  392. package/apps/official/supabase/files/volumes/pooler/pooler.exs +30 -0
  393. package/apps/official/supabase/manifest.json +327 -0
  394. package/apps/official/supabase/supabase-analytics.yml +32 -0
  395. package/apps/official/supabase/supabase-auth.yml +34 -0
  396. package/apps/official/supabase/supabase-db.yml +42 -0
  397. package/apps/official/supabase/supabase-functions.yml +24 -0
  398. package/apps/official/supabase/supabase-imgproxy.yml +25 -0
  399. package/apps/official/supabase/supabase-kong.yml +30 -0
  400. package/apps/official/supabase/supabase-meta.yml +20 -0
  401. package/apps/official/supabase/supabase-pooler.yml +45 -0
  402. package/apps/official/supabase/supabase-realtime.yml +42 -0
  403. package/apps/official/supabase/supabase-rest.yml +21 -0
  404. package/apps/official/supabase/supabase-storage.yml +36 -0
  405. package/apps/official/supabase/supabase-vector.yml +23 -0
  406. package/apps/official/tailscale/compose.yml +23 -0
  407. package/apps/official/tailscale/manifest.json +65 -0
  408. package/apps/official/tautulli/compose.yml +21 -0
  409. package/apps/official/tautulli/files/pre-install.sh +9 -0
  410. package/apps/official/tautulli/manifest.json +69 -0
  411. package/apps/official/termix/compose.yml +18 -0
  412. package/apps/official/termix/manifest.json +65 -0
  413. package/apps/official/teslamate/teslamate-grafana.yml +22 -0
  414. package/apps/official/teslamate/teslamate-mosquitto.yml +27 -0
  415. package/apps/official/teslamate/teslamate-pgsql.yml +24 -0
  416. package/apps/official/teslamate/teslamate.yml +27 -0
  417. package/apps/official/thelounge/compose.yml +20 -0
  418. package/apps/official/thelounge/manifest.json +65 -0
  419. package/apps/official/theme-park/compose.yml +21 -0
  420. package/apps/official/theme-park/manifest.json +74 -0
  421. package/apps/official/traefik-access-log/compose.yml +14 -0
  422. package/apps/official/traefik-access-log/manifest.json +59 -0
  423. package/apps/official/traefik-certs-dumper/compose.yml +18 -0
  424. package/apps/official/traefik-certs-dumper/manifest.json +56 -0
  425. package/apps/official/traefik-error-log/compose.yml +14 -0
  426. package/apps/official/traefik-error-log/manifest.json +59 -0
  427. package/apps/official/transmission/compose.yml +33 -0
  428. package/apps/official/transmission/manifest.json +90 -0
  429. package/apps/official/trilium/compose.yml +19 -0
  430. package/apps/official/trilium/manifest.json +65 -0
  431. package/apps/official/uptime-kuma/compose.yml +17 -0
  432. package/apps/official/uptime-kuma/manifest.json +65 -0
  433. package/apps/official/vaultwarden/compose.yml +20 -0
  434. package/apps/official/vaultwarden/files/pre-install.sh +27 -0
  435. package/apps/official/vaultwarden/manifest.json +86 -0
  436. package/apps/official/vikunja/compose.yml +30 -0
  437. package/apps/official/vikunja/manifest.json +123 -0
  438. package/apps/official/vikunja/vikunja-mariadb.yml +26 -0
  439. package/apps/official/viniplay/compose.yml +18 -0
  440. package/apps/official/viniplay/files/pre-install.sh +9 -0
  441. package/apps/official/viniplay/manifest.json +63 -0
  442. package/apps/official/vscode/compose.yml +28 -0
  443. package/apps/official/vscode/manifest.json +65 -0
  444. package/apps/official/wallos/compose.yml +19 -0
  445. package/apps/official/wallos/manifest.json +65 -0
  446. package/apps/official/weaviate/compose.yml +28 -0
  447. package/apps/official/weaviate/manifest.json +82 -0
  448. package/apps/official/wg-easy/compose.yml +31 -0
  449. package/apps/official/wg-easy/files/post-install.sh +32 -0
  450. package/apps/official/wg-easy/manifest.json +118 -0
  451. package/apps/official/wikidocs/compose.yml +19 -0
  452. package/apps/official/wikidocs/manifest.json +65 -0
  453. package/apps/official/wud/compose.yml +22 -0
  454. package/apps/official/wud/manifest.json +74 -0
  455. package/apps/official/xpipe-webtop/compose.yml +21 -0
  456. package/apps/official/xpipe-webtop/manifest.json +83 -0
  457. package/apps/official/zerotier/compose.yml +17 -0
  458. package/apps/official/zerotier/files/post-install.sh +23 -0
  459. package/apps/official/zerotier/manifest.json +78 -0
  460. package/apps/unofficial/9router/compose.yml +30 -0
  461. package/apps/unofficial/9router/files/oauth-fix.patch +32 -0
  462. package/apps/unofficial/9router/files/pre-install.sh +87 -0
  463. package/apps/unofficial/9router/manifest.json +144 -0
  464. package/apps/unofficial/openclaw/Dockerfile.full +79 -0
  465. package/apps/unofficial/openclaw/compose.yml +60 -0
  466. package/apps/unofficial/openclaw/files/post-install.sh +316 -0
  467. package/apps/unofficial/openclaw/files/pre-install.sh +174 -0
  468. package/apps/unofficial/openclaw/manifest.json +178 -0
  469. package/apps/version_pins +67 -0
  470. package/bin/deployrr-init.sh +49 -0
  471. package/latest-version +1 -0
  472. package/package.json +21 -0
@@ -0,0 +1,178 @@
1
+ #!/bin/bash
2
+ # Langfuse Pre-Install Hook
3
+ # Injects auto-generated secrets into all Langfuse compose files via sed placeholders
4
+ # Optionally configures headless initialization using existing Deployrr credentials
5
+
6
+ COMPOSE_DIR="$DOCKER_FOLDER/compose/$HOSTNAME"
7
+
8
+ # ============================================================
9
+ # SECTION 1: Read and validate secrets
10
+ # ============================================================
11
+ POSTGRESQL_PASSWORD=$(sudo cat "$DOCKER_FOLDER/secrets/langfuse_postgresql_password" 2>/dev/null)
12
+ REDIS_PASSWORD=$(sudo cat "$DOCKER_FOLDER/secrets/langfuse_redis_password" 2>/dev/null)
13
+ CLICKHOUSE_PASSWORD=$(sudo cat "$DOCKER_FOLDER/secrets/langfuse_clickhouse_password" 2>/dev/null)
14
+ MINIO_PASSWORD=$(sudo cat "$DOCKER_FOLDER/secrets/langfuse_minio_password" 2>/dev/null)
15
+ NEXTAUTH_SECRET=$(sudo cat "$DOCKER_FOLDER/secrets/langfuse_nextauth_secret" 2>/dev/null)
16
+ SALT=$(sudo cat "$DOCKER_FOLDER/secrets/langfuse_salt" 2>/dev/null)
17
+ ENCRYPTION_KEY=$(sudo cat "$DOCKER_FOLDER/secrets/langfuse_encryption_key" 2>/dev/null)
18
+
19
+ if [[ -z "$POSTGRESQL_PASSWORD" || -z "$REDIS_PASSWORD" || -z "$CLICKHOUSE_PASSWORD" || \
20
+ -z "$MINIO_PASSWORD" || -z "$NEXTAUTH_SECRET" || -z "$SALT" || -z "$ENCRYPTION_KEY" ]]; then
21
+ f_print_error "One or more Langfuse secrets are missing from $DOCKER_FOLDER/secrets/"
22
+ log_error "langfuse" "Missing secrets - aborting pre-install"
23
+ return 1
24
+ fi
25
+
26
+ f_print_substep "Injecting secrets into Langfuse compose files..."
27
+
28
+ # ============================================================
29
+ # SECTION 2: Inject secrets into compose files
30
+ # ============================================================
31
+
32
+ # --- Inject into main compose (langfuse-web) ---
33
+ local web_compose="$COMPOSE_DIR/langfuse.yml"
34
+ if [[ -f "$web_compose" ]]; then
35
+ sudo sed -i "s|POSTGRESQL-PASSWORD-PLACEHOLDER|$POSTGRESQL_PASSWORD|g" "$web_compose"
36
+ sudo sed -i "s|REDIS-PASSWORD-PLACEHOLDER|$REDIS_PASSWORD|g" "$web_compose"
37
+ sudo sed -i "s|CLICKHOUSE-PASSWORD-PLACEHOLDER|$CLICKHOUSE_PASSWORD|g" "$web_compose"
38
+ sudo sed -i "s|MINIO-PASSWORD-PLACEHOLDER|$MINIO_PASSWORD|g" "$web_compose"
39
+ sudo sed -i "s|NEXTAUTH-SECRET-PLACEHOLDER|$NEXTAUTH_SECRET|g" "$web_compose"
40
+ sudo sed -i "s|SALT-PLACEHOLDER|$SALT|g" "$web_compose"
41
+ sudo sed -i "s|ENCRYPTION-KEY-PLACEHOLDER|$ENCRYPTION_KEY|g" "$web_compose"
42
+ log_info "langfuse" "Injected secrets into langfuse.yml"
43
+ fi
44
+
45
+ # --- Inject into worker compose ---
46
+ local worker_compose="$COMPOSE_DIR/langfuse-worker.yml"
47
+ if [[ -f "$worker_compose" ]]; then
48
+ sudo sed -i "s|POSTGRESQL-PASSWORD-PLACEHOLDER|$POSTGRESQL_PASSWORD|g" "$worker_compose"
49
+ sudo sed -i "s|REDIS-PASSWORD-PLACEHOLDER|$REDIS_PASSWORD|g" "$worker_compose"
50
+ sudo sed -i "s|CLICKHOUSE-PASSWORD-PLACEHOLDER|$CLICKHOUSE_PASSWORD|g" "$worker_compose"
51
+ sudo sed -i "s|MINIO-PASSWORD-PLACEHOLDER|$MINIO_PASSWORD|g" "$worker_compose"
52
+ sudo sed -i "s|SALT-PLACEHOLDER|$SALT|g" "$worker_compose"
53
+ sudo sed -i "s|ENCRYPTION-KEY-PLACEHOLDER|$ENCRYPTION_KEY|g" "$worker_compose"
54
+ log_info "langfuse" "Injected secrets into langfuse-worker.yml"
55
+ fi
56
+
57
+ # --- Inject into PostgreSQL compose ---
58
+ local pg_compose="$COMPOSE_DIR/langfuse-postgresql.yml"
59
+ if [[ -f "$pg_compose" ]]; then
60
+ sudo sed -i "s|POSTGRESQL-PASSWORD-PLACEHOLDER|$POSTGRESQL_PASSWORD|g" "$pg_compose"
61
+ log_info "langfuse" "Injected secrets into langfuse-postgresql.yml"
62
+ fi
63
+
64
+ # --- Inject into Redis compose ---
65
+ local redis_compose="$COMPOSE_DIR/langfuse-redis.yml"
66
+ if [[ -f "$redis_compose" ]]; then
67
+ sudo sed -i "s|REDIS-PASSWORD-PLACEHOLDER|$REDIS_PASSWORD|g" "$redis_compose"
68
+ log_info "langfuse" "Injected secrets into langfuse-redis.yml"
69
+ fi
70
+
71
+ # --- Inject into ClickHouse compose ---
72
+ local ch_compose="$COMPOSE_DIR/langfuse-clickhouse.yml"
73
+ if [[ -f "$ch_compose" ]]; then
74
+ sudo sed -i "s|CLICKHOUSE-PASSWORD-PLACEHOLDER|$CLICKHOUSE_PASSWORD|g" "$ch_compose"
75
+ log_info "langfuse" "Injected secrets into langfuse-clickhouse.yml"
76
+ fi
77
+
78
+ # --- Inject into MinIO compose ---
79
+ local minio_compose="$COMPOSE_DIR/langfuse-minio.yml"
80
+ if [[ -f "$minio_compose" ]]; then
81
+ sudo sed -i "s|MINIO-PASSWORD-PLACEHOLDER|$MINIO_PASSWORD|g" "$minio_compose"
82
+ log_info "langfuse" "Injected secrets into langfuse-minio.yml"
83
+ fi
84
+
85
+ f_print_success "Langfuse secrets configured"
86
+
87
+ # ============================================================
88
+ # SECTION 3: Headless initialization prompt
89
+ # ============================================================
90
+ local headless_choice
91
+ headless_choice=$(dialog \
92
+ --backtitle "Deployrr - Langfuse Setup" \
93
+ --title "Account Initialization" \
94
+ --menu "\nHow would you like to set up your Langfuse admin account?\n" 0 0 2 \
95
+ "1" "Use existing Deployrr credentials (recommended)" \
96
+ "2" "Set up manually via web UI after install" \
97
+ 3>&1 1>&2 2>&3)
98
+
99
+ local dialog_exit=$?
100
+ if [[ $dialog_exit -ne 0 ]]; then
101
+ headless_choice="2"
102
+ fi
103
+
104
+ if [[ "$headless_choice" == "1" ]]; then
105
+ # --- Read existing Deployrr credentials ---
106
+ local basic_user basic_pass
107
+ basic_user=$(sudo cat "$DOCKER_FOLDER/secrets/basic_auth_username" 2>/dev/null)
108
+ basic_pass=$(sudo cat "$DOCKER_FOLDER/secrets/basic_auth_password" 2>/dev/null)
109
+
110
+ if [[ -z "$basic_user" || -z "$basic_pass" ]]; then
111
+ f_print_warning "Could not read Deployrr credentials - falling back to manual setup"
112
+ log_warning "langfuse" "basic_auth credentials not found, skipping headless init"
113
+ headless_choice="2"
114
+ fi
115
+ fi
116
+
117
+ if [[ "$headless_choice" == "1" ]]; then
118
+ # --- Prompt for email ---
119
+ local user_email
120
+ user_email=$(dialog \
121
+ --backtitle "Deployrr - Langfuse Setup" \
122
+ --title "Admin Email" \
123
+ --inputbox "\nEnter the email address for your Langfuse admin account:\n" 10 60 \
124
+ 3>&1 1>&2 2>&3)
125
+
126
+ local email_exit=$?
127
+ if [[ $email_exit -ne 0 || -z "$user_email" ]]; then
128
+ f_print_warning "No email provided - falling back to manual setup"
129
+ log_warning "langfuse" "No email provided, skipping headless init"
130
+ headless_choice="2"
131
+ fi
132
+ fi
133
+
134
+ if [[ "$headless_choice" == "1" ]]; then
135
+ # --- Prompt for org name ---
136
+ local org_name
137
+ org_name=$(dialog \
138
+ --backtitle "Deployrr - Langfuse Setup" \
139
+ --title "Organization Name" \
140
+ --inputbox "\nEnter a name for your Langfuse organization:\n" 10 60 "Deployrr" \
141
+ 3>&1 1>&2 2>&3)
142
+ [[ -z "$org_name" ]] && org_name="Deployrr"
143
+
144
+ # --- Prompt for project name ---
145
+ local project_name
146
+ project_name=$(dialog \
147
+ --backtitle "Deployrr - Langfuse Setup" \
148
+ --title "Project Name" \
149
+ --inputbox "\nEnter a name for your first Langfuse project:\n" 10 60 "Default Project" \
150
+ 3>&1 1>&2 2>&3)
151
+ [[ -z "$project_name" ]] && project_name="Default Project"
152
+
153
+ # --- Derive IDs from names (lowercase, spaces to hyphens) ---
154
+ local org_id project_id
155
+ org_id=$(echo "$org_name" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
156
+ project_id=$(echo "$project_name" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
157
+
158
+ # --- Inject headless init values ---
159
+ f_print_substep "Configuring headless initialization..."
160
+
161
+ sudo sed -i "s|HEADLESS-ORG-PLACEHOLDER|$org_id|g" "$web_compose"
162
+ sudo sed -i "s|HEADLESS-ORGNAME-PLACEHOLDER|$org_name|g" "$web_compose"
163
+ sudo sed -i "s|HEADLESS-PROJECT-PLACEHOLDER|$project_id|g" "$web_compose"
164
+ sudo sed -i "s|HEADLESS-PROJECTNAME-PLACEHOLDER|$project_name|g" "$web_compose"
165
+ sudo sed -i "s|HEADLESS-EMAIL-PLACEHOLDER|$user_email|g" "$web_compose"
166
+ sudo sed -i "s|HEADLESS-USERNAME-PLACEHOLDER|$basic_user|g" "$web_compose"
167
+ sudo sed -i "s|HEADLESS-PASSWORD-PLACEHOLDER|$basic_pass|g" "$web_compose"
168
+
169
+ f_print_success "Admin account will be created on first startup"
170
+ log_info "langfuse" "Headless init configured: user=$basic_user email=$user_email"
171
+ else
172
+ # --- Remove headless init placeholders ---
173
+ if [[ -f "$web_compose" ]]; then
174
+ sudo sed -i "/HEADLESS-.*-PLACEHOLDER/d" "$web_compose"
175
+ log_info "langfuse" "Headless init skipped - placeholders removed"
176
+ fi
177
+ f_print_substep "Manual account setup selected - create your account via the web UI"
178
+ fi
@@ -0,0 +1,25 @@
1
+ services:
2
+ # Langfuse ClickHouse - Dedicated Analytics Database for Langfuse
3
+ langfuse-clickhouse:
4
+ container_name: langfuse-clickhouse
5
+ image: docker.io/clickhouse/clickhouse-server:${LANGFUSECLICKHOUSE_VERSION_PIN}
6
+ security_opt:
7
+ - no-new-privileges:true
8
+ restart: unless-stopped
9
+ profiles: ["apps", "all"]
10
+ healthcheck:
11
+ test: wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1
12
+ interval: 5s
13
+ timeout: 5s
14
+ retries: 10
15
+ start_period: 1s
16
+ networks:
17
+ - default
18
+ volumes:
19
+ - $DOCKERDIR/appdata/langfuse-clickhouse/data:/var/lib/clickhouse
20
+ - $DOCKERDIR/appdata/langfuse-clickhouse/logs:/var/log/clickhouse-server
21
+ environment:
22
+ - CLICKHOUSE_DB=default
23
+ - CLICKHOUSE_USER=clickhouse
24
+ - CLICKHOUSE_PASSWORD=CLICKHOUSE-PASSWORD-PLACEHOLDER
25
+ # DOCKER-LABELS-PLACEHOLDER
@@ -0,0 +1,25 @@
1
+ services:
2
+ # Langfuse MinIO - Dedicated Object Storage for Langfuse
3
+ langfuse-minio:
4
+ container_name: langfuse-minio
5
+ image: minio/minio:${LANGFUSEMINIO_VERSION_PIN}
6
+ security_opt:
7
+ - no-new-privileges:true
8
+ restart: unless-stopped
9
+ profiles: ["apps", "all"]
10
+ entrypoint: sh
11
+ command: -c 'mkdir -p /data/langfuse && minio server --address ":9000" --console-address ":9001" /data'
12
+ healthcheck:
13
+ test: ["CMD", "mc", "ready", "local"]
14
+ interval: 5s
15
+ timeout: 5s
16
+ retries: 10
17
+ start_period: 5s
18
+ networks:
19
+ - default
20
+ volumes:
21
+ - $DOCKERDIR/appdata/langfuse-minio:/data
22
+ environment:
23
+ - MINIO_ROOT_USER=minio
24
+ - MINIO_ROOT_PASSWORD=MINIO-PASSWORD-PLACEHOLDER
25
+ # DOCKER-LABELS-PLACEHOLDER
@@ -0,0 +1,26 @@
1
+ services:
2
+ # Langfuse PostgreSQL - Dedicated Database for Langfuse
3
+ langfuse-postgresql:
4
+ container_name: langfuse-postgresql
5
+ image: postgres:${LANGFUSEPOSTGRESQL_VERSION_PIN}
6
+ security_opt:
7
+ - no-new-privileges:true
8
+ restart: unless-stopped
9
+ profiles: ["apps", "all"]
10
+ healthcheck:
11
+ test: ["CMD-SHELL", "pg_isready -d langfuse -U langfuse_db_user"]
12
+ start_period: 20s
13
+ interval: 30s
14
+ retries: 5
15
+ timeout: 5s
16
+ networks:
17
+ - default
18
+ volumes:
19
+ - $DOCKERDIR/appdata/langfuse-postgresql:/var/lib/postgresql/data
20
+ environment:
21
+ - POSTGRES_DB=langfuse
22
+ - POSTGRES_USER=langfuse_db_user
23
+ - POSTGRES_PASSWORD=POSTGRESQL-PASSWORD-PLACEHOLDER
24
+ - TZ=UTC
25
+ - PGTZ=UTC
26
+ # DOCKER-LABELS-PLACEHOLDER
@@ -0,0 +1,22 @@
1
+ services:
2
+ # Langfuse Redis - Dedicated Cache and Queue for Langfuse
3
+ langfuse-redis:
4
+ container_name: langfuse-redis
5
+ image: redis:${LANGFUSEREDIS_VERSION_PIN}
6
+ security_opt:
7
+ - no-new-privileges:true
8
+ restart: unless-stopped
9
+ profiles: ["apps", "all"]
10
+ command: >
11
+ --requirepass REDIS-PASSWORD-PLACEHOLDER
12
+ --maxmemory-policy noeviction
13
+ healthcheck:
14
+ test: ["CMD", "redis-cli", "-a", "REDIS-PASSWORD-PLACEHOLDER", "ping"]
15
+ interval: 5s
16
+ timeout: 5s
17
+ retries: 10
18
+ networks:
19
+ - default
20
+ volumes:
21
+ - $DOCKERDIR/appdata/langfuse-redis:/data
22
+ # DOCKER-LABELS-PLACEHOLDER
@@ -0,0 +1,50 @@
1
+ services:
2
+ # Langfuse Worker - Background Event Processor
3
+ langfuse-worker:
4
+ image: docker.io/langfuse/langfuse-worker:${LANGFUSEWORKER_VERSION_PIN}
5
+ container_name: langfuse-worker
6
+ security_opt:
7
+ - no-new-privileges:true
8
+ restart: unless-stopped
9
+ profiles: ["apps", "all"]
10
+ depends_on:
11
+ langfuse-postgresql:
12
+ condition: service_healthy
13
+ langfuse-redis:
14
+ condition: service_healthy
15
+ langfuse-clickhouse:
16
+ condition: service_healthy
17
+ langfuse-minio:
18
+ condition: service_healthy
19
+ networks:
20
+ - default
21
+ environment:
22
+ - DATABASE_URL=postgresql://langfuse_db_user:POSTGRESQL-PASSWORD-PLACEHOLDER@langfuse-postgresql:5432/langfuse
23
+ - SALT=SALT-PLACEHOLDER
24
+ - ENCRYPTION_KEY=ENCRYPTION-KEY-PLACEHOLDER
25
+ - TELEMETRY_ENABLED=false
26
+ - LANGFUSE_ENABLE_EXPERIMENTAL_FEATURES=false
27
+ - CLICKHOUSE_MIGRATION_URL=clickhouse://langfuse-clickhouse:9000
28
+ - CLICKHOUSE_URL=http://langfuse-clickhouse:8123
29
+ - CLICKHOUSE_USER=clickhouse
30
+ - CLICKHOUSE_PASSWORD=CLICKHOUSE-PASSWORD-PLACEHOLDER
31
+ - CLICKHOUSE_CLUSTER_ENABLED=false
32
+ - LANGFUSE_S3_EVENT_UPLOAD_BUCKET=langfuse
33
+ - LANGFUSE_S3_EVENT_UPLOAD_REGION=auto
34
+ - LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID=minio
35
+ - LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY=MINIO-PASSWORD-PLACEHOLDER
36
+ - LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT=http://langfuse-minio:9000
37
+ - LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE=true
38
+ - LANGFUSE_S3_EVENT_UPLOAD_PREFIX=events/
39
+ - LANGFUSE_S3_MEDIA_UPLOAD_BUCKET=langfuse
40
+ - LANGFUSE_S3_MEDIA_UPLOAD_REGION=auto
41
+ - LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID=minio
42
+ - LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY=MINIO-PASSWORD-PLACEHOLDER
43
+ - LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT=http://langfuse-minio:9000
44
+ - LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE=true
45
+ - LANGFUSE_S3_MEDIA_UPLOAD_PREFIX=media/
46
+ - LANGFUSE_S3_BATCH_EXPORT_ENABLED=false
47
+ - REDIS_HOST=langfuse-redis
48
+ - REDIS_PORT=6379
49
+ - REDIS_AUTH=REDIS-PASSWORD-PLACEHOLDER
50
+ # DOCKER-LABELS-PLACEHOLDER
@@ -0,0 +1,201 @@
1
+ {
2
+ "$schema": "../../../apps/manifest-schema.json",
3
+ "version": "1.2",
4
+ "app": {
5
+ "sname": "langfuse",
6
+ "pname": "Langfuse",
7
+ "description": "Langfuse is an open-source LLM engineering platform for observability, metrics, evaluations, prompt management, and dataset handling. It provides tracing, analytics, and debugging tools for AI/LLM applications. This installation includes dedicated PostgreSQL, Redis, ClickHouse, and MinIO containers.",
8
+ "descriptionShort": "LLM observability & analytics",
9
+ "icon": "https://raw.githubusercontent.com/langfuse/langfuse/main/web/public/icon256.png",
10
+ "_iconFuture": "sh-langfuse",
11
+ "category": "official",
12
+ "menuNumber": "06",
13
+ "tags": [
14
+ "ai",
15
+ "llm",
16
+ "observability",
17
+ "analytics",
18
+ "tracing",
19
+ "monitoring"
20
+ ]
21
+ },
22
+ "deployment": {
23
+ "type": "multicontainer",
24
+ "compose": "compose.yml",
25
+ "profiles": [
26
+ "apps",
27
+ "all"
28
+ ],
29
+ "networks": [
30
+ "default"
31
+ ],
32
+ "webui": true,
33
+ "port": 3100,
34
+ "protocol": "http"
35
+ },
36
+ "dependencies": [
37
+ {
38
+ "sname": "langfuse-postgresql",
39
+ "pname": "Langfuse PostgreSQL",
40
+ "compose": "langfuse-postgresql.yml",
41
+ "installOrder": 1,
42
+ "waitForHealthy": true,
43
+ "required": true,
44
+ "description": "Dedicated PostgreSQL database for Langfuse"
45
+ },
46
+ {
47
+ "sname": "langfuse-redis",
48
+ "pname": "Langfuse Redis",
49
+ "compose": "langfuse-redis.yml",
50
+ "installOrder": 2,
51
+ "waitForHealthy": true,
52
+ "required": true,
53
+ "description": "Dedicated Redis cache and queue for Langfuse"
54
+ },
55
+ {
56
+ "sname": "langfuse-clickhouse",
57
+ "pname": "Langfuse ClickHouse",
58
+ "compose": "langfuse-clickhouse.yml",
59
+ "installOrder": 3,
60
+ "waitForHealthy": true,
61
+ "required": true,
62
+ "description": "Dedicated ClickHouse analytics database for Langfuse"
63
+ },
64
+ {
65
+ "sname": "langfuse-minio",
66
+ "pname": "Langfuse MinIO",
67
+ "compose": "langfuse-minio.yml",
68
+ "installOrder": 4,
69
+ "waitForHealthy": true,
70
+ "required": true,
71
+ "description": "Dedicated MinIO object storage for Langfuse events and media"
72
+ },
73
+ {
74
+ "sname": "langfuse-worker",
75
+ "pname": "Langfuse Worker",
76
+ "compose": "langfuse-worker.yml",
77
+ "installOrder": 5,
78
+ "waitForHealthy": false,
79
+ "required": true,
80
+ "description": "Background worker for Langfuse event processing"
81
+ }
82
+ ],
83
+ "requirements": {
84
+ "prerequisites": [
85
+ "prerequisites"
86
+ ],
87
+ "apps": []
88
+ },
89
+ "database": {
90
+ "type": "postgresql",
91
+ "containerSname": "langfuse-postgresql",
92
+ "name": "langfuse",
93
+ "user": "langfuse_db_user",
94
+ "passwordSecret": "langfuse_postgresql_password",
95
+ "host": "langfuse-postgresql",
96
+ "port": 5432
97
+ },
98
+ "traefik": {
99
+ "supported": true
100
+ },
101
+ "dashboard": {
102
+ "enabled": true,
103
+ "location": "local",
104
+ "showStats": true,
105
+ "portVariable": "LANGFUSE_PORT"
106
+ },
107
+ "env": {
108
+ "variables": [
109
+ {
110
+ "name": "LANGFUSE_PORT",
111
+ "description": "Web interface port",
112
+ "type": "port",
113
+ "default": 3100,
114
+ "prompt": true,
115
+ "required": true,
116
+ "validation": {
117
+ "type": "port",
118
+ "min": 1,
119
+ "max": 65535
120
+ }
121
+ }
122
+ ],
123
+ "secrets": [
124
+ {
125
+ "name": "langfuse_postgresql_password",
126
+ "description": "PostgreSQL database password",
127
+ "type": "random",
128
+ "length": 32,
129
+ "addToCompose": false
130
+ },
131
+ {
132
+ "name": "langfuse_redis_password",
133
+ "description": "Redis authentication password",
134
+ "type": "random",
135
+ "length": 32,
136
+ "addToCompose": false
137
+ },
138
+ {
139
+ "name": "langfuse_clickhouse_password",
140
+ "description": "ClickHouse database password",
141
+ "type": "random",
142
+ "length": 32,
143
+ "addToCompose": false
144
+ },
145
+ {
146
+ "name": "langfuse_minio_password",
147
+ "description": "MinIO root password",
148
+ "type": "random",
149
+ "length": 32,
150
+ "addToCompose": false
151
+ },
152
+ {
153
+ "name": "langfuse_nextauth_secret",
154
+ "description": "NextAuth session encryption secret",
155
+ "type": "random",
156
+ "length": 64,
157
+ "addToCompose": false
158
+ },
159
+ {
160
+ "name": "langfuse_salt",
161
+ "description": "Encryption salt for Langfuse",
162
+ "type": "random",
163
+ "length": 32,
164
+ "addToCompose": false
165
+ },
166
+ {
167
+ "name": "langfuse_encryption_key",
168
+ "description": "Encryption key for Langfuse (64-char hex)",
169
+ "type": "random",
170
+ "length": 64,
171
+ "addToCompose": false
172
+ }
173
+ ]
174
+ },
175
+ "hooks": {
176
+ "preInstall": {
177
+ "script": "files/pre-install.sh"
178
+ },
179
+ "postInstall": {
180
+ "messages": [
181
+ {
182
+ "style": "note",
183
+ "text": "Langfuse uses dedicated containers: \\Z5langfuse-postgresql\\Zn, \\Z5langfuse-redis\\Zn, \\Z5langfuse-clickhouse\\Zn, \\Z5langfuse-minio\\Zn, and \\Z5langfuse-worker\\Zn."
184
+ },
185
+ {
186
+ "style": "note",
187
+ "text": "If you chose headless init, your admin account is ready. Otherwise, create your account at \\Z4https://langfuse.$DOMAINNAME_1\\Zn"
188
+ },
189
+ {
190
+ "style": "note",
191
+ "text": "Secrets are stored in \\Z4$DOCKER_FOLDER/secrets/\\Zn (langfuse_*)."
192
+ }
193
+ ]
194
+ }
195
+ },
196
+ "status": {
197
+ "file": "06_langfuse_status",
198
+ "successMessage": "Langfuse Setup Completed",
199
+ "telemetryAction": "langfuse"
200
+ }
201
+ }
@@ -0,0 +1,25 @@
1
+ services:
2
+ # Lidarr - Music Management
3
+ lidarr:
4
+ image: lscr.io/linuxserver/lidarr:latest
5
+ container_name: lidarr
6
+ security_opt:
7
+ - no-new-privileges:true
8
+ restart: "no"
9
+ profiles: ["media", "starr", "all"]
10
+ networks:
11
+ - default
12
+ ports:
13
+ - "$LIDARR_PORT:8686"
14
+ volumes:
15
+ - $DOCKERDIR/appdata/lidarr:/config
16
+ # - $MEDIADIR1:/data/media1
17
+ # - $MEDIADIR2:/data/media2
18
+ # - $MEDIADIR3:/data/media3
19
+ - $DOWNLOADSDIR:/data/downloads
20
+ - "/etc/localtime:/etc/localtime:ro"
21
+ environment:
22
+ TZ: $TZ
23
+ PUID: $PUID
24
+ PGID: $PGID
25
+ # DOCKER-LABELS-PLACEHOLDER
@@ -0,0 +1,65 @@
1
+ {
2
+ "$schema": "../../../apps/manifest-schema.json",
3
+ "version": "1.2",
4
+
5
+ "app": {
6
+ "sname": "lidarr",
7
+ "pname": "Lidarr",
8
+ "description": "Lidarr is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new albums from your favorite artists and will interface with clients and indexers to grab, sort, and rename them.",
9
+ "descriptionShort": "PVR for Music",
10
+ "icon": "sh-lidarr",
11
+ "category": "official",
12
+ "menuNumber": "06",
13
+ "tags": ["media", "music", "pvr", "starr"]
14
+ },
15
+
16
+ "deployment": {
17
+ "type": "single",
18
+ "compose": "compose.yml",
19
+ "profiles": ["media", "starr", "all"],
20
+ "networks": ["default"],
21
+ "webui": true,
22
+ "port": 8686,
23
+ "protocol": "http"
24
+ },
25
+
26
+ "requirements": {
27
+ "prerequisites": ["prerequisites", "media_folder", "downloads_folder", "appfolder_permission"],
28
+ "apps": []
29
+ },
30
+
31
+ "traefik": {
32
+ "supported": true
33
+ },
34
+
35
+ "dashboard": {
36
+ "enabled": true,
37
+ "location": "local",
38
+ "showStats": true,
39
+ "portVariable": "LIDARR_PORT"
40
+ },
41
+
42
+ "env": {
43
+ "variables": [
44
+ {
45
+ "name": "LIDARR_PORT",
46
+ "description": "Web interface port",
47
+ "type": "port",
48
+ "default": 8686,
49
+ "prompt": true,
50
+ "required": true,
51
+ "validation": {
52
+ "type": "port",
53
+ "min": 1,
54
+ "max": 65535
55
+ }
56
+ }
57
+ ]
58
+ },
59
+
60
+ "status": {
61
+ "file": "06_lidarr_status",
62
+ "successMessage": "Lidarr Setup Completed",
63
+ "telemetryAction": "lidarr"
64
+ }
65
+ }
@@ -0,0 +1,26 @@
1
+ services:
2
+ # Lollypop - Music Player
3
+ lollypop:
4
+ image: lscr.io/linuxserver/lollypop:latest
5
+ container_name: lollypop
6
+ security_opt:
7
+ - no-new-privileges:true
8
+ - seccomp:unconfined #optional
9
+ restart: "unless-stopped"
10
+ profiles: ["apps", "media", "all"]
11
+ networks:
12
+ - default
13
+ # DEVICES-GPU-PLACEHOLDER-DO-NOT-DELETE
14
+ ports:
15
+ - "$LOLLYPOP_PORT:3000" # HTTP
16
+ # - 3001:3001 # HTTPS
17
+ volumes:
18
+ - $DOCKERDIR/appdata/lollypop:/config
19
+ # - $MEDIADIR1:/data/media1
20
+ # - $MEDIADIR2:/data/media2
21
+ # - $MEDIADIR3:/data/media3
22
+ environment:
23
+ TZ: $TZ
24
+ PUID: $PUID
25
+ PGID: $PGID
26
+ # DOCKER-LABELS-PLACEHOLDER