@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,38 @@
1
+ services:
2
+ # Google OAuth - Single Sign On using OAuth 2.0
3
+ oauth:
4
+ container_name: oauth
5
+ image: thomseddon/traefik-forward-auth:latest
6
+ security_opt:
7
+ - no-new-privileges:true
8
+ restart: unless-stopped
9
+ profiles: ["core", "all"]
10
+ networks:
11
+ - traefik_proxy
12
+ # ports:
13
+ # - "4181:4181"
14
+ environment:
15
+ - CONFIG=/config
16
+ - COOKIE_DOMAIN=$DOMAINNAME_1
17
+ - INSECURE_COOKIE=false
18
+ - AUTH_HOST=oauth.$DOMAINNAME_1
19
+ - URL_PATH=/_oauth
20
+ - LOG_LEVEL=info
21
+ - LOG_FORMAT=text
22
+ - LIFETIME=86400 # 1 day
23
+ - DEFAULT_ACTION=auth
24
+ - DEFAULT_PROVIDER=google
25
+ secrets:
26
+ - source: oauth_secrets
27
+ target: /config
28
+ labels:
29
+ - "traefik.enable=true"
30
+ # HTTP Routers
31
+ - "traefik.http.routers.oauth-rtr.entrypoints=websecure-internal,websecure-external"
32
+ - "traefik.http.routers.oauth-rtr.rule=Host(`oauth.$DOMAINNAME_1`)"
33
+ # Middlewares
34
+ - "traefik.http.routers.oauth-rtr.middlewares=chain-oauth@file"
35
+ # HTTP Services
36
+ - "traefik.http.routers.oauth-rtr.service=oauth-svc"
37
+ - "traefik.http.services.oauth-svc.loadbalancer.server.port=4181"
38
+ # DOCKER-LABELS-PLACEHOLDER
@@ -0,0 +1,8 @@
1
+ http:
2
+ middlewares:
3
+ chain-oauth:
4
+ chain:
5
+ middlewares:
6
+ - middlewares-rate-limit
7
+ - middlewares-secure-headers
8
+ - middlewares-oauth
@@ -0,0 +1,8 @@
1
+ http:
2
+ middlewares:
3
+ middlewares-oauth:
4
+ forwardAuth:
5
+ address: "http://oauth:4181" # Make sure you have the OAuth service in docker-compose.yml
6
+ trustForwardHeader: true
7
+ authResponseHeaders:
8
+ - "X-Forwarded-User"
@@ -0,0 +1,3 @@
1
+ providers.google.client-id=GOOGLE-CLIENT-ID-PLACEHOLDER
2
+ providers.google.client-secret=GOOGLE-CLIENT-SECRET-PLACEHOLDER
3
+ secret=OAUTH-SECRET-PLACEHOLDER
@@ -0,0 +1,58 @@
1
+ {
2
+ "$schema": "../../../manifest-schema.json",
3
+ "version": "1.1",
4
+
5
+ "app": {
6
+ "sname": "oauth",
7
+ "pname": "Google OAuth",
8
+ "descriptionShort": "Forward Auth with Google",
9
+ "icon": "sh-google",
10
+ "category": "core"
11
+ },
12
+
13
+ "deployment": {
14
+ "type": "standard",
15
+ "compose": "compose.yml",
16
+ "webui": true,
17
+ "port": 4181,
18
+ "protocol": "https"
19
+ },
20
+
21
+ "requirements": {
22
+ "prerequisites": ["prerequisites", "socket_proxy_running", "traefik_production", "traefik_running", "hybrid_mode"],
23
+ "apps": ["socket-proxy", "traefik"]
24
+ },
25
+
26
+ "files": [
27
+ {
28
+ "source": "files/middlewares-oauth.yml",
29
+ "destination": "$DOCKER_FOLDER/appdata/traefik3/rules/$HOSTNAME/middlewares-oauth.yml",
30
+ "backup": false
31
+ },
32
+ {
33
+ "source": "files/chain-oauth.yml",
34
+ "destination": "$DOCKER_FOLDER/appdata/traefik3/rules/$HOSTNAME/chain-oauth.yml",
35
+ "backup": false
36
+ }
37
+ ],
38
+
39
+ "traefik": {
40
+ "supported": true,
41
+ "subdomain": "oauth",
42
+ "chain": "chain-oauth",
43
+ "middlewares": ["middlewares-oauth.yml", "chain-oauth.yml"]
44
+ },
45
+
46
+ "dashboard": {
47
+ "enabled": true,
48
+ "location": "other",
49
+ "showStats": true,
50
+ "portVariable": null
51
+ },
52
+
53
+ "status": {
54
+ "file": "05_oauth_status",
55
+ "successMessage": "Google OAuth Setup Completed",
56
+ "telemetryAction": "oauth"
57
+ }
58
+ }
@@ -0,0 +1,54 @@
1
+ services:
2
+ # Docker Socket Proxy - Security Enchanced Proxy for Docker Socket
3
+ socket-proxy:
4
+ image: lscr.io/linuxserver/socket-proxy:latest
5
+ container_name: socket-proxy
6
+ security_opt:
7
+ - no-new-privileges:true
8
+ restart: unless-stopped
9
+ profiles: ["core", "all"]
10
+ networks:
11
+ socket_proxy:
12
+ ipv4_address: 192.168.91.254 # You can specify a static IP
13
+ # privileged: true # true for VM. False (default) for unprivileged LXC container.
14
+ # ports:
15
+ #- "2375:2375"
16
+ volumes:
17
+ - "/var/run/docker.sock:/var/run/docker.sock"
18
+ read_only: true
19
+ tmpfs:
20
+ - /run
21
+ environment:
22
+ - LOG_LEVEL=warning # debug,info,notice,warning,err,crit,alert,emerg
23
+ - ALLOW_START=1 # Portainer
24
+ - ALLOW_STOP=1 # Portainer
25
+ - ALLOW_RESTARTS=1 # Portainer
26
+ ## Granted by Default
27
+ - EVENTS=1
28
+ - PING=1
29
+ - VERSION=1
30
+ ## Revoked by Default
31
+ # Security critical
32
+ - AUTH=0
33
+ - SECRETS=0
34
+ - POST=1
35
+ # Not always needed
36
+ - BUILD=0
37
+ - COMMIT=0
38
+ - CONFIGS=0
39
+ - CONTAINERS=1 # Traefik, portainer, etc.
40
+ - DISTRIBUTION=0
41
+ - EXEC=0
42
+ - IMAGES=1 # Portainer
43
+ - INFO=1 # Portainer
44
+ - NETWORKS=1 # Portainer
45
+ - NODES=0
46
+ - PLUGINS=0
47
+ - SERVICES=1 # Portainer
48
+ - SESSION=0
49
+ - SWARM=0
50
+ - SYSTEM=0
51
+ - TASKS=1 # Portainer
52
+ - VOLUMES=1 # Portainer
53
+ - DISABLE_IPV6=0 #optional
54
+ # DOCKER-LABELS-PLACEHOLDER
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "../../../manifest-schema.json",
3
+ "version": "1.1",
4
+ "app": {
5
+ "sname": "socket-proxy",
6
+ "pname": "Socket Proxy",
7
+ "descriptionShort": "Proxy for Docker Socket",
8
+ "icon": "sh-docker",
9
+ "category": "core"
10
+ },
11
+ "deployment": {
12
+ "type": "single",
13
+ "compose": "compose.yml",
14
+ "webui": false,
15
+ "port": null,
16
+ "protocol": null
17
+ },
18
+ "requirements": {
19
+ "prerequisites": [
20
+ "prerequisites"
21
+ ],
22
+ "apps": []
23
+ },
24
+ "placeholders": {
25
+ "compose": {
26
+ "# privileged: true": {
27
+ "condition": "SYSTEM_TYPE != 'Unprivileged LXC'",
28
+ "replace": "privileged: true"
29
+ }
30
+ }
31
+ },
32
+ "traefik": {
33
+ "supported": false
34
+ },
35
+ "dashboard": {
36
+ "enabled": true,
37
+ "location": "other",
38
+ "showStats": true,
39
+ "portVariable": null
40
+ },
41
+ "env": {
42
+ "variables": [
43
+ {
44
+ "name": "DOCKER_HOST",
45
+ "type": "string",
46
+ "default": "tcp://socket-proxy:2375",
47
+ "prompt": false,
48
+ "required": false
49
+ }
50
+ ]
51
+ },
52
+ "firewall": {
53
+ "rules": [
54
+ "allow from 192.168.91.0/24"
55
+ ]
56
+ },
57
+ "status": {
58
+ "file": "03_socket-proxy_status",
59
+ "successMessage": "Socket Proxy Setup Completed",
60
+ "telemetryAction": "socket-proxy"
61
+ }
62
+ }
@@ -0,0 +1,229 @@
1
+ # Shell Prompt Configuration
2
+ export PS1="[\[\e[32m\]\u\[\e[m\]@\[\e[33m\]\h\[\e[m\]: \\$\[\e[36m\]\w\[\e[m\]]\\$ " # Colorized prompt showing user@host: path$
3
+
4
+ # Load Configuration
5
+ if [[ -f "$DEPLOYRR_CONFIG/deployrr_constants" ]]; then
6
+ source <(sudo cat $DEPLOYRR_CONFIG/deployrr_constants) # Load Deployrr configuration if exists
7
+ else
8
+ DOCKER_FOLDER=$HOME/docker # Default Docker folder if no config exists
9
+ fi
10
+
11
+ #------------------------------------------------------------------------------
12
+ # DOCKER MANAGEMENT
13
+ #------------------------------------------------------------------------------
14
+
15
+ # Basic Docker Commands
16
+ alias dps='sudo docker ps -a' # List all containers (running and stopped)
17
+ alias dpss='sudo docker ps -a --format "table {{.Names}}\t{{.State}}\t{{.Status}}\t{{.Image}}" | (sed -u 1q; sort)' # List containers in a nicely formatted table
18
+ alias ddf='sudo docker system df' # Show Docker disk usage for containers, images, and volumes
19
+ alias dexec='sudo docker exec -ti' # Execute command in running container (interactive mode)
20
+
21
+ # Docker Logs and Monitoring
22
+ alias dlogs='sudo docker logs -tf --tail="50" ' # Show last 50 lines of container logs and follow output
23
+ alias dlogsize='sudo du -ch $(sudo docker inspect --format='{{.LogPath}}' $(sudo docker ps -qa)) | sort -h' # Display size of container log files
24
+ alias dips="sudo docker ps -q | xargs -n 1 sudo docker inspect -f '{{.Name}}%tab%{{range .NetworkSettings.Networks}}{{.IPAddress}}%tab%{{end}}' | sed 's#%tab%#\t#g' | sed 's#/##g' | sort | column -t -N NAME,IP\(s\) -o $'\t'" # List IP addresses of all containers
25
+
26
+ # Docker Container Management
27
+ alias dstop='sudo docker stop' # Stop a specific container
28
+ alias dstopall='sudo docker stop $(sudo docker ps -aq)' # Stop all running containers
29
+ alias drm='sudo docker rm $(sudo docker ps -a -q)' # Remove specified containers
30
+
31
+ # Docker Cleanup and Maintenance
32
+ alias dprunevol='sudo docker volume prune' # Remove all unused volumes
33
+ alias dprunesys='sudo docker system prune -a' # Remove all unused containers, networks, images (both dangling and unreferenced)
34
+ alias ddelimages='sudo docker rmi $(sudo docker images -q)' # Delete all Docker images
35
+ alias derase='dstopall ; drm ; ddelimages ; dprunevol ; dprunesys' # Complete cleanup: stop and remove all containers, images, volumes
36
+ alias dprune='ddelimages ; dprunevol ; dprunesys' # Safe cleanup of unused resources
37
+
38
+ #------------------------------------------------------------------------------
39
+ # DOCKER COMPOSE & TRAEFIK
40
+ #------------------------------------------------------------------------------
41
+
42
+ # Docker Compose Basic Commands
43
+ alias dcrun='sudo docker compose --profile all -f $DOCKER_FOLDER/docker-compose-$HOSTNAME.yml' # Base command for docker-compose operations
44
+ alias dcup='dcrun up -d --build --remove-orphans' # Start all services, rebuild if needed, remove orphaned containers
45
+ alias dcdown='dcrun down --remove-orphans' # Stop and remove all containers, including orphaned ones
46
+ alias dcstop='dcrun stop' # Stop services without removing containers
47
+ alias dcstart='dcrun start' # Start existing containers
48
+ alias dcrestart='dcrun restart' # Restart services
49
+ alias dcrec='dcrun up -d --force-recreate --remove-orphans' # Force recreate containers even if no changes
50
+ alias dcpull='dcrun --parallel 1 pull --ignore-pull-failures' # Pull latest versions of all service images (skips local-build images)
51
+ alias dclogs='dcrun logs -tf --tail="50"' # Show and follow last 50 lines of service logs
52
+
53
+ # Traefik Specific
54
+ alias traefiklogs='tail -f $DOCKER_FOLDER/logs/$HOSTNAME/traefik/traefik.log' # Monitor Traefik reverse proxy logs
55
+
56
+ #------------------------------------------------------------------------------
57
+ # CROWDSEC SECURITY
58
+ #------------------------------------------------------------------------------
59
+
60
+ # CrowdSec CLI Commands
61
+ alias cscli='dcrun exec -t crowdsec cscli' # Execute CrowdSec CLI commands
62
+ alias csdecisions='cscli decisions list' # List current IP ban decisions
63
+ alias csalerts='cscli alerts list' # List security alerts
64
+ alias csinspect='cscli alerts inspect -d' # Detailed inspection of specific alerts
65
+ alias cshubs='cscli hub list' # List available CrowdSec hubs
66
+ alias csparsers='cscli parsers list' # List installed parsers
67
+ alias cscollections='cscli collections list' # List installed collections
68
+ alias cshubupdate='cscli hub update' # Update CrowdSec hub index
69
+ alias cshubupgrade='cscli hub upgrade' # Upgrade all hub items
70
+ alias csmetrics='cscli metrics' # Show CrowdSec metrics
71
+ alias csmachines='cscli machines list' # List CrowdSec machines
72
+ alias csbouncers='cscli bouncers list' # List registered bouncers
73
+
74
+ # CrowdSec Service Management
75
+ alias csfbstatus='sudo systemctl status crowdsec-firewall-bouncer.service' # Check firewall bouncer status
76
+ alias csfbstart='sudo systemctl start crowdsec-firewall-bouncer.service' # Start firewall bouncer
77
+ alias csfbstop='sudo systemctl stop crowdsec-firewall-bouncer.service' # Stop firewall bouncer
78
+ alias csfbrestart='sudo systemctl restart crowdsec-firewall-bouncer.service' # Restart firewall bouncer
79
+ alias csbrestart='dcrec2 traefik-bouncer ; csfbrestart' # Restart both Traefik bouncer and firewall bouncer
80
+
81
+ # CrowdSec Logs
82
+ alias tailkern='sudo tail -f /var/log/kern.log' # Monitor kernel logs
83
+ alias tailauth='sudo tail -f /var/log/auth.log' # Monitor authentication logs
84
+ alias tailcsfb='sudo tail -f /var/log/crowdsec-firewall-bouncer.log' # Monitor firewall bouncer logs
85
+
86
+ #------------------------------------------------------------------------------
87
+ # SYSTEM ADMINISTRATION
88
+ #------------------------------------------------------------------------------
89
+
90
+ # File System Navigation
91
+ alias cd..='cd ..' # Fix common typo of cd.. instead of cd ..
92
+ alias ..='cd ..' # Move up one directory level
93
+ alias ...='cd ../..' # Move up two directory levels
94
+ alias .3='cd ../../..' # Move up three directory levels
95
+ alias .4='cd ../../../..' # Move up four directory levels
96
+ alias .5='cd ../../../../..' # Move up five directory levels
97
+ alias cdd='cd $DOCKER_FOLDER' # Navigate to the Docker folder
98
+ alias up='cd ..' # Alternative way to move up one directory
99
+ alias back='cd -' # Return to previous directory (toggles between last two directories)
100
+ alias home='cd ~' # Navigate to home directory
101
+
102
+ # File Listing and Management
103
+ alias ls='ls -F --color=auto --group-directories-first' # Colorized listing with directories first
104
+ alias ll='ls -alh --color=auto --group-directories-first' # Detailed list, human-readable sizes
105
+ alias lt='ls --human-readable --color=auto --size -1 -S --classify' # List files by size
106
+ alias lsr='ls --color=auto -t -1' # List files by modification time
107
+ alias mkdir='mkdir -pv' # Create parent directories as needed, verbose output
108
+ alias cp='cp -iv' # Interactive and verbose copy
109
+ alias mv='mv -iv' # Interactive and verbose move
110
+
111
+ # Storage and Disk Management
112
+ alias fdisk='sudo fdisk -l' # List disk partitions
113
+ alias uuid='sudo vol_id -u' # Show UUID of volumes
114
+ alias mounts='mount | column -t' # Show mounted filesystems in clean output
115
+ alias dirsize='sudo du -hx --max-depth=1' # Show directory sizes at depth 1
116
+ alias dirusage='du -ch | grep total' # Show total disk usage in current directory
117
+ alias diskusage='df -hl --total | grep total' # Show total disk usage of system
118
+ alias partusage='df -hlT --exclude-type=tmpfs --exclude-type=devtmpfs' # Show partition usage excluding virtual filesystems
119
+ alias space='du -sh * | sort -hr' # List directory contents sorted by size
120
+ alias disks='lsblk -o NAME,SIZE,TYPE,MOUNTPOINT' # List block devices with details
121
+ alias space-usage='df -h -x squashfs -x tmpfs -x devtmpfs' # Show disk space usage excluding virtual filesystems
122
+ alias inode-usage='df -ih' # Show inode usage on mounted filesystems
123
+
124
+ # File Analysis
125
+ alias biggest='find . -type f -printf "%s %p\n" | sort -nr | head -10' # Show 10 largest files in current directory
126
+ alias recent='find . -type f -printf "%TY-%Tm-%Td %TT %p\n" | sort -r | head -10' # Show 10 most recently modified files
127
+ alias tree='tree -C' # Show directory structure in tree format with colors
128
+
129
+ #------------------------------------------------------------------------------
130
+ # SYSTEM MONITORING & PERFORMANCE
131
+ #------------------------------------------------------------------------------
132
+
133
+ # Memory and CPU Monitoring
134
+ alias meminfo='free -m -l -t' # Display memory usage in megabytes
135
+ alias psmem='ps auxf | sort -nr -k 4' # List processes by memory usage
136
+ alias psmem10='ps auxf | sort -nr -k 4 | head -10' # Show top 10 memory-consuming processes
137
+ alias pscpu='ps auxf | sort -nr -k 3' # List processes by CPU usage
138
+ alias pscpu10='ps auxf | sort -nr -k 3 | head -10' # Show top 10 CPU-consuming processes
139
+ alias cpuinfo='lscpu' # Show CPU information
140
+ alias gpumeminfo='grep -i --color memory /var/log/Xorg.0.log' # Show GPU memory information
141
+ alias free='free -h' # Show memory usage in human-readable format
142
+
143
+ #------------------------------------------------------------------------------
144
+ # NETWORKING
145
+ #------------------------------------------------------------------------------
146
+
147
+ # Network Monitoring and Analysis
148
+ alias ports='netstat -tulanp' # Show all active ports and their processes
149
+ alias showlistening='lsof -i -n | egrep "COMMAND|LISTEN"' # Show listening ports and their processes
150
+ alias ping='ping -c 5' # Ping with 5 packets only
151
+ alias myip='curl -s ifconfig.me' # Show external IP address
152
+ alias localip='hostname -I | awk "{print \$1}"' # Show primary local IP address
153
+ alias header='curl -I' # Show HTTP headers of a website
154
+ alias dnscheck='dig +short' # Quick DNS lookup
155
+ alias connections='netstat -nat | awk "{print \$6}" | sort | uniq -c | sort -n' # Count active network connections by state
156
+ alias bandwidth='nethogs' # Monitor bandwidth usage by process
157
+
158
+ #------------------------------------------------------------------------------
159
+ # PACKAGE MANAGEMENT
160
+ #------------------------------------------------------------------------------
161
+
162
+ # APT Package Management
163
+ alias update='sudo apt-get update' # Update package index
164
+ alias upgrade='sudo apt-get update && sudo apt-get upgrade' # Update package index and upgrade all packages
165
+ alias install='sudo apt-get install' # Install a package
166
+ alias finstall='sudo apt-get -f install' # Fix broken package installations
167
+ alias rinstall='sudo apt-get -f install --reinstall' # Reinstall a package
168
+ alias uninstall='sudo apt-get remove' # Remove a package
169
+ alias search='sudo apt-cache search' # Search for a package
170
+ alias addkey='sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com' # Add a repository key
171
+
172
+ #------------------------------------------------------------------------------
173
+ # SYSTEM SERVICES
174
+ #------------------------------------------------------------------------------
175
+
176
+ # Systemd Service Management
177
+ alias ctlreload='sudo systemctl daemon-reload' # Reload systemd manager configuration
178
+ alias ctlstart='sudo systemctl start' # Start a systemd service
179
+ alias ctlstop='sudo systemctl stop' # Stop a systemd service
180
+ alias ctlrestart='sudo systemctl restart' # Restart a systemd service
181
+ alias ctlstatus='sudo systemctl status' # Check status of a systemd service
182
+ alias ctlenable='sudo systemctl enable' # Enable a service to start at boot
183
+ alias ctldisable='sudo systemctl disable' # Disable a service from starting at boot
184
+ alias ctlactive='sudo systemctl is-active' # Check if a service is currently active
185
+
186
+ # UFW Firewall Management
187
+ alias ufwenable='sudo ufw enable' # Enable the UFW firewall
188
+ alias ufwdisable='sudo ufw disable' # Disable the UFW firewall
189
+ alias ufwallow='sudo ufw allow' # Allow a port through UFW
190
+ alias ufwlimit='sudo ufw limit' # Limit connections to a port
191
+ alias ufwlist='sudo ufw status numbered' # List UFW rules with numbers
192
+ alias ufwdelete='sudo ufw delete' # Delete a UFW rule
193
+ alias ufwreload='sudo ufw reload' # Reload UFW rules
194
+
195
+ #------------------------------------------------------------------------------
196
+ # SYNOLOGY DSM
197
+ #------------------------------------------------------------------------------
198
+
199
+ # Synology Service Management
200
+ alias servicelist='sudo synoservicecfg --list' # List all Synology services (DSM 6.x)
201
+ alias servicestatus='sudo synosystemctl status' # Check status of Synology service
202
+ alias servicestop='sudo synosystemctl stop' # Stop a Synology service
203
+ alias servicehstop='sudo synoservicecfg --hard-stop' # Hard stop a service (DSM 6.x)
204
+ alias servicestart='sudo synosystemctl start' # Start a Synology service
205
+ alias servicehstart='sudo synoservicecfg --hard-start' # Hard start a service (DSM 6.x)
206
+ alias servicerestart='sudo synosystemctl restart' # Restart a Synology service
207
+ alias restartdocker='sudo synosystemctl restart pkgctl-Docker' # Restart Docker package
208
+
209
+ #------------------------------------------------------------------------------
210
+ # FILE COMPRESSION
211
+ #------------------------------------------------------------------------------
212
+
213
+ # Archive Management
214
+ alias untargz='tar --same-owner -zxvf' # Extract .tar.gz archive preserving ownership
215
+ alias untarbz='tar --same-owner -xjvf' # Extract .tar.bz2 archive preserving ownership
216
+ alias lstargz='tar -ztvf' # List contents of .tar.gz archive
217
+ alias lstarbz='tar -jtvf' # List contents of .tar.bz2 archive
218
+ alias targz='tar -zcvf' # Create .tar.gz archive
219
+ alias tarbz='tar -cjvf' # Create .tar.bz2 archive
220
+
221
+ #------------------------------------------------------------------------------
222
+ # CONFIGURATION
223
+ #------------------------------------------------------------------------------
224
+
225
+ # Quick Configuration Edits
226
+ alias reload='. ~/.bashrc' # Reload bash configuration
227
+ alias aliases='${DEPLOYRR_EDITOR:-nano} ~/.bash_aliases' # Edit aliases file
228
+ alias hosts='sudo ${DEPLOYRR_EDITOR:-nano} /etc/hosts' # Edit hosts file
229
+ alias bashrc='${DEPLOYRR_EDITOR:-nano} ~/.bashrc' # Edit bash configuration file
@@ -0,0 +1,5 @@
1
+
2
+ # Anand's UDMS Bash Aliases added by Deployrr
3
+ if [ -f DOCKER-ALIASES-PATH-PLACEHOLDER ]; then
4
+ . DOCKER-ALIASES-PATH-PLACEHOLDER
5
+ fi
@@ -0,0 +1,4 @@
1
+ # Add all your custom docker compose snippets here. Auto-Traefik will not modify this.
2
+ # Uncomment services and the compose below it, following yaml syntax.
3
+
4
+ # services:
@@ -0,0 +1,25 @@
1
+ ########################### NETWORKS
2
+ # You may customize the network subnets (192.168.x.0/24) below as you please.
3
+ networks:
4
+ default:
5
+ driver: bridge
6
+ socket_proxy:
7
+ name: socket_proxy
8
+ driver: bridge
9
+ ipam:
10
+ config:
11
+ - subnet: 192.168.91.0/24
12
+ # NETWORKS-PLACEHOLDER-DO-NOT-DELETE
13
+
14
+ ########################### SECRETS
15
+ # secrets:
16
+ # basic_auth_credentials:
17
+ # file: $DOCKERDIR/secrets/basic_auth_credentials
18
+ # SECRETS-PLACEHOLDER-DO-NOT-DELETE
19
+
20
+ include:
21
+ ########################### SERVICES
22
+ # HOSTNAME defined in .env file
23
+
24
+ # - compose/$HOSTNAME/custom.yml
25
+ # SERVICE-PLACEHOLDER-DO-NOT-DELETE
@@ -0,0 +1,28 @@
1
+ services:
2
+ ## rclone
3
+ rclone:
4
+ container_name: rclone
5
+ image: wiserain/rclone
6
+ restart: always
7
+ networks:
8
+ traefik_network:
9
+ volumes:
10
+ - /mnt/user/Docker/appdata/rclone_data/config:/config
11
+ - /mnt/user/Docker/appdata/rclone_data/log:/log
12
+ - /mnt/user/Docker/appdata/rclone_data/cache:/cache
13
+ - /mnt/user/Docker/appdata/rclone_data/local:/local
14
+ - /mnt/user/Docker/appdata/rclone_data/cloud:/cloud
15
+ - /mnt/user/Docker/appdata/rclone_mount:/data:shared
16
+ #- /local/dir/to/be/merged/with:/local # Optional: if you have a folder to be mergerfs/unionfs with
17
+ devices:
18
+ - /dev/fuse
19
+ cap_add:
20
+ - SYS_ADMIN
21
+ security_opt:
22
+ - apparmor:unconfined
23
+ environment:
24
+ - PUID=1000
25
+ - PGID=1000
26
+ - TZ=Europe/Berlin
27
+ - RCLONE_REMOTE_PATH=PlexDrive:/
28
+ - RCLONE_MOUNT_USER_OPTS=--allow-non-empty --bwlimit 16.5M:off --stats-one-line -P --stats 2s --vfs-disk-space-total-size 200T
@@ -0,0 +1,43 @@
1
+ [Unit]
2
+ Description=Rclone SMB
3
+ Wants=network-online.target
4
+ After=network-online.target
5
+
6
+ [Service]
7
+ Type=notify
8
+ ExecStart=/usr/bin/rclone mount REMOTE-NAME-PLACEHOLDER: REMOTE-MOUNTPOINT-PLACEHOLDER \
9
+ #--read-only \
10
+ --config DOCKER-FOLDER-PLACEHOLDER/appdata/rclone/rclone.conf \
11
+ --log-file=DOCKER-FOLDER-PLACEHOLDER/logs/HOSTNAME-PLACEHOLDER/rclone-REMOTE-NAME-PLACEHOLDER.log \
12
+ --log-level NOTICE \
13
+ --allow-other \
14
+ --no-modtime \
15
+ --umask 002 \
16
+ --user-agent HOSTNAME-PLACEHOLDER \
17
+ --dir-cache-time 1h \
18
+ --buffer-size 128M \
19
+ --vfs-fast-fingerprint \
20
+ --vfs-cache-mode full \
21
+ --vfs-cache-max-age 336h \
22
+ --cache-dir=REMOTE-CACHEDIR-PLACEHOLDER \
23
+ --vfs-cache-max-size REMOTE-CACHESIZE-PLACEHOLDERG \
24
+ --vfs-read-chunk-size-limit 10G \
25
+ --vfs-refresh \
26
+ #--rc \
27
+ #--rc-web-gui \
28
+ #--rc-addr :5572 \
29
+ #--rc-web-gui-no-open-browser \
30
+ #--rc-no-auth \
31
+ #--rc-user= \
32
+ #--rc-pass= \
33
+ --use-mmap
34
+ ExecStop=/bin/fusermount -uz REMOTE-MOUNTPOINT-PLACEHOLDER
35
+ #ExecStartPost=/usr/bin/rclone rc vfs/refresh recursive=true --rc-addr :5572 _async=true
36
+ Restart=on-abort
37
+ User=USERNAME-PLACEHOLDER
38
+ Group=USERNAME-PLACEHOLDER
39
+ KillMode=mixed
40
+ RestartSec=5
41
+
42
+ [Install]
43
+ WantedBy=default.target
@@ -0,0 +1,6 @@
1
+ [REMOTE-NAME-PLACEHOLDER]
2
+ type = smb
3
+ host = REMOTE-HOST-PLACEHOLDER
4
+ user = REMOTE-USER-PLACEHOLDER
5
+ pass = REMOTE-PASSWORD-HASHED-PLACEHOLDER
6
+ idle_timeout = 0s
@@ -0,0 +1,9 @@
1
+ [Unit]
2
+ Description=start-media-after-boot
3
+ After=network.target
4
+
5
+ [Service]
6
+ ExecStart=SMAB-PATH-PLACEHOLDER
7
+
8
+ [Install]
9
+ WantedBy=default.target
@@ -0,0 +1,57 @@
1
+ #!/bin/bash
2
+ # All containers (profile "media") that access rclone/MergerFS mounts set to NOT restart automatically at boot time.
3
+ # This is because, rclone can take a few seconds/minutes to mount remote drives.
4
+ # This script checks the required mounts every 5 seconds and as soon as required drives are mounted, it starts the "media" containers.
5
+
6
+ # CHECKING FOR DRIVE MOUNTS
7
+ num_drives=1 # number of mounts to check
8
+ # Drive 1
9
+ drive1="REMOTE-MOUNTPOINT-PLACEHOLDER"
10
+ drive1_seconds=0
11
+ drive1_status=0
12
+ # Drive 2 - not used
13
+ # drive2=""
14
+ # drive2_seconds=0
15
+ # drive2_status=0
16
+
17
+ mounted=0
18
+ rounds=0
19
+
20
+ while [[ "$mounted" -ne "$num_drives" ]]; do
21
+ if [[ "$(systemctl is-active docker)" == "active" ]]; then
22
+ # Drive 1
23
+ if mount | grep ${drive1} > /dev/null; then
24
+ if [[ "$drive1_status" -eq 0 ]]; then
25
+ mounted=$((mounted+1))
26
+ drive1_seconds=$((rounds * 5))
27
+ drive1_status=1
28
+ fi
29
+ fi
30
+
31
+ # Drive 2
32
+ # if mount | grep ${drive2} > /dev/null; then
33
+ # if [[ "$drive2_status" -eq 0 ]]; then
34
+ # mounted=$((mounted+1))
35
+ # drive2_seconds=$((rounds * 5))
36
+ # drive2_status=1
37
+ # fi
38
+ # fi
39
+
40
+ # Timeout if mounting is not successful after 15 min (180x5)
41
+ if [[ $rounds -eq 180 ]]; then
42
+ break
43
+ fi
44
+ sleep 5
45
+ rounds=$((rounds + 1))
46
+ fi
47
+ done
48
+
49
+ STARTSTOP_DATE=$(date)
50
+
51
+ if [[ "$mounted" -eq "$num_drives" ]]; then
52
+ sudo docker compose --profile media -f COMPOSE-FILE-PLACEHOLDER up -d
53
+ echo "$STARTSTOP_DATE: Media containers started" >> SMAB-LOG-PLACEHOLDER
54
+ else
55
+ sudo docker compose --profile media -f COMPOSE-FILE-PLACEHOLDER down
56
+ echo "$STARTSTOP_DATE: Media containers start failed" >> SMAB-ERR-PLACEHOLDER
57
+ fi