@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.
- package/announcement +1 -0
- package/apps/community/CONTRIBUTING.md +660 -0
- package/apps/community/apps.json +6 -0
- package/apps/core/apps.json +16 -0
- package/apps/core/authelia/authelia-redis.yml +24 -0
- package/apps/core/authelia/compose.yml +45 -0
- package/apps/core/authelia/files/chain-authelia.yml +8 -0
- package/apps/core/authelia/files/configuration.yml +100 -0
- package/apps/core/authelia/files/middlewares-authelia.yml +9 -0
- package/apps/core/authelia/files/users.yml +15 -0
- package/apps/core/authelia/manifest.json +156 -0
- package/apps/core/authentik/authentik-postgresql.yml +26 -0
- package/apps/core/authentik/authentik-worker.yml +37 -0
- package/apps/core/authentik/compose.yml +51 -0
- package/apps/core/authentik/files/chain-authentik.yml +8 -0
- package/apps/core/authentik/files/middlewares-authentik.yml +19 -0
- package/apps/core/authentik/manifest.json +117 -0
- package/apps/core/crowdsec/compose.yml +23 -0
- package/apps/core/crowdsec/files/acquis-traefik.yaml +4 -0
- package/apps/core/crowdsec/files/acquis.yaml +8 -0
- package/apps/core/crowdsec/files/crowdsec-firewall-bouncer.yaml +46 -0
- package/apps/core/crowdsec/files/custom-whitelists.yaml +13 -0
- package/apps/core/crowdsec/manifest.json +87 -0
- package/apps/core/crowdsec-firewall-bouncer/manifest.json +85 -0
- package/apps/core/deployrr/jokes_and_tips.txt +58 -0
- package/apps/core/deployrr-dashboard/compose.yml +23 -0
- package/apps/core/deployrr-dashboard/files/bookmarks.yaml +51 -0
- package/apps/core/deployrr-dashboard/files/deployrr_icon.ico +0 -0
- package/apps/core/deployrr-dashboard/files/deployrr_icon.png +0 -0
- package/apps/core/deployrr-dashboard/files/docker.yaml +10 -0
- package/apps/core/deployrr-dashboard/files/service-template-other.yaml +10 -0
- package/apps/core/deployrr-dashboard/files/service-template-web-local.yaml +10 -0
- package/apps/core/deployrr-dashboard/files/service-template-web-remote.yaml +10 -0
- package/apps/core/deployrr-dashboard/files/services.yaml +18 -0
- package/apps/core/deployrr-dashboard/files/settings.yaml +13 -0
- package/apps/core/deployrr-dashboard/files/widgets.yaml +20 -0
- package/apps/core/deployrr-dashboard/manifest.json +133 -0
- package/apps/core/npm/compose.yml +40 -0
- package/apps/core/npm/manifest.json +60 -0
- package/apps/core/oauth/compose.yml +38 -0
- package/apps/core/oauth/files/chain-oauth.yml +8 -0
- package/apps/core/oauth/files/middlewares-oauth.yml +8 -0
- package/apps/core/oauth/files/oauth-secrets-template +3 -0
- package/apps/core/oauth/manifest.json +58 -0
- package/apps/core/socket-proxy/compose.yml +54 -0
- package/apps/core/socket-proxy/manifest.json +62 -0
- package/apps/core/system/bash-aliases/udms_bash_aliases +229 -0
- package/apps/core/system/bash-aliases/udms_bashrc +5 -0
- package/apps/core/system/docker/custom.yml +4 -0
- package/apps/core/system/docker/starter.yml +25 -0
- package/apps/core/system/rclone/compose.yml +28 -0
- package/apps/core/system/rclone/rclone-mount-template.service +43 -0
- package/apps/core/system/rclone/rclone-template.conf +6 -0
- package/apps/core/system/rclone/start-media-after-boot.service +9 -0
- package/apps/core/system/rclone/start-media-after-boot.sh +57 -0
- package/apps/core/tinyauth/compose.yml +47 -0
- package/apps/core/tinyauth/files/chain-tinyauth.yml +8 -0
- package/apps/core/tinyauth/files/middlewares-tinyauth.yml +10 -0
- package/apps/core/tinyauth/manifest.json +70 -0
- package/apps/core/traefik/compose.yml +106 -0
- package/apps/core/traefik/files/app-http-bypass-template.yml +31 -0
- package/apps/core/traefik/files/app-http-template.yml +18 -0
- package/apps/core/traefik/files/app-https-ssc-bypass-template.yml +36 -0
- package/apps/core/traefik/files/app-https-ssc-template.yml +23 -0
- package/apps/core/traefik/files/chain-basic-auth.yml +9 -0
- package/apps/core/traefik/files/chain-nextcloud.yml +8 -0
- package/apps/core/traefik/files/chain-no-auth.yml +8 -0
- package/apps/core/traefik/files/domain-passthrough-template.yml +15 -0
- package/apps/core/traefik/files/labels-auth-bypass-template.yml +6 -0
- package/apps/core/traefik/files/labels-template.yml +10 -0
- package/apps/core/traefik/files/middlewares-basic-auth.yml +9 -0
- package/apps/core/traefik/files/middlewares-buffering.yml +9 -0
- package/apps/core/traefik/files/middlewares-compress.yml +4 -0
- package/apps/core/traefik/files/middlewares-crowdsec-bouncer.yml +13 -0
- package/apps/core/traefik/files/middlewares-nextcloud.yml +35 -0
- package/apps/core/traefik/files/middlewares-rate-limit.yml +6 -0
- package/apps/core/traefik/files/middlewares-secure-headers.yml +26 -0
- package/apps/core/traefik/files/t2_proxy_network.yml +8 -0
- package/apps/core/traefik/files/tls-opts.yml +19 -0
- package/apps/core/traefik/files/traefik-static-config-example.yml +97 -0
- package/apps/core/traefik/files/traefik.yml +123 -0
- package/apps/core/traefik/files/traefik_global_secrets_template.yml +4 -0
- package/apps/core/traefik/files/traefik_proxy_network.yml +8 -0
- package/apps/core/traefik/manifest.json +70 -0
- package/apps/manifest-schema.json +760 -0
- package/apps/official/adminer/compose.yml +14 -0
- package/apps/official/adminer/manifest.json +65 -0
- package/apps/official/airsonic-advanced/compose.yml +26 -0
- package/apps/official/airsonic-advanced/manifest.json +78 -0
- package/apps/official/apps.json +146 -0
- package/apps/official/audiobookshelf/compose.yml +20 -0
- package/apps/official/audiobookshelf/manifest.json +65 -0
- package/apps/official/autobrr/autobrr-postgresql.yml +24 -0
- package/apps/official/autobrr/compose.yml +27 -0
- package/apps/official/autobrr/manifest.json +101 -0
- package/apps/official/baikal/compose.yml +17 -0
- package/apps/official/baikal/manifest.json +65 -0
- package/apps/official/bazarr/compose.yml +23 -0
- package/apps/official/bazarr/manifest.json +65 -0
- package/apps/official/beets/compose.yml +24 -0
- package/apps/official/beets/manifest.json +65 -0
- package/apps/official/bookstack/bookstack-mariadb.yml +26 -0
- package/apps/official/bookstack/compose.yml +31 -0
- package/apps/official/bookstack/manifest.json +113 -0
- package/apps/official/boxarr/compose.yml +18 -0
- package/apps/official/boxarr/manifest.json +65 -0
- package/apps/official/cadvisor/compose.yml +23 -0
- package/apps/official/cadvisor/files/pre-install.sh +10 -0
- package/apps/official/cadvisor/manifest.json +69 -0
- package/apps/official/calibre/compose.yml +27 -0
- package/apps/official/calibre/manifest.json +87 -0
- package/apps/official/calibre-web/compose.yml +23 -0
- package/apps/official/calibre-web/manifest.json +74 -0
- package/apps/official/change-detection/compose.yml +22 -0
- package/apps/official/change-detection/manifest.json +65 -0
- package/apps/official/chromium/compose.yml +25 -0
- package/apps/official/chromium/manifest.json +82 -0
- package/apps/official/cleanuparr/compose.yml +30 -0
- package/apps/official/cleanuparr/manifest.json +65 -0
- package/apps/official/cloud-commander/compose.yml +24 -0
- package/apps/official/cloud-commander/manifest.json +65 -0
- package/apps/official/cloudflare-tunnel/compose.yml +26 -0
- package/apps/official/cloudflare-tunnel/files/pre-install.sh +7 -0
- package/apps/official/cloudflare-tunnel/manifest.json +70 -0
- package/apps/official/cyberchef/compose.yml +14 -0
- package/apps/official/cyberchef/manifest.json +65 -0
- package/apps/official/dashy/compose.yml +27 -0
- package/apps/official/dashy/files/starter-conf.yml +45 -0
- package/apps/official/dashy/manifest.json +72 -0
- package/apps/official/ddns-updater/compose.yml +28 -0
- package/apps/official/ddns-updater/files/config.json +14 -0
- package/apps/official/ddns-updater/files/pre-install.sh +18 -0
- package/apps/official/ddns-updater/manifest.json +71 -0
- package/apps/official/deunhealth/compose.yml +17 -0
- package/apps/official/deunhealth/manifest.json +46 -0
- package/apps/official/digikam/compose.yml +23 -0
- package/apps/official/digikam/manifest.json +85 -0
- package/apps/official/dispatcharr/compose.yml +39 -0
- package/apps/official/dispatcharr/manifest.json +86 -0
- package/apps/official/docker-gc/compose.yml +25 -0
- package/apps/official/docker-gc/files/docker-gc-exclude +9 -0
- package/apps/official/docker-gc/files/pre-install.sh +22 -0
- package/apps/official/docker-gc/manifest.json +54 -0
- package/apps/official/dockhand/compose.yml +24 -0
- package/apps/official/dockhand/dockhand-postgresql.yml +24 -0
- package/apps/official/dockhand/manifest.json +105 -0
- package/apps/official/dockpeek/compose.yml +20 -0
- package/apps/official/dockpeek/manifest.json +95 -0
- package/apps/official/dockwatch/compose.yml +31 -0
- package/apps/official/dockwatch/manifest.json +65 -0
- package/apps/official/dokuwiki/compose.yml +21 -0
- package/apps/official/dokuwiki/manifest.json +81 -0
- package/apps/official/double-commander/compose.yml +26 -0
- package/apps/official/double-commander/manifest.json +83 -0
- package/apps/official/dozzle/compose.yml +23 -0
- package/apps/official/dozzle/manifest.json +65 -0
- package/apps/official/dozzle-agent/compose.yml +26 -0
- package/apps/official/dozzle-agent/manifest.json +71 -0
- package/apps/official/dweebui/compose.yml +21 -0
- package/apps/official/dweebui/manifest.json +81 -0
- package/apps/official/emby/compose.yml +29 -0
- package/apps/official/emby/manifest.json +98 -0
- package/apps/official/esphome/compose.yml +20 -0
- package/apps/official/esphome/manifest.json +65 -0
- package/apps/official/filezilla/compose.yml +23 -0
- package/apps/official/filezilla/manifest.json +82 -0
- package/apps/official/flame/compose.yml +21 -0
- package/apps/official/flame/manifest.json +73 -0
- package/apps/official/flaresolverr/compose.yml +19 -0
- package/apps/official/flaresolverr/manifest.json +75 -0
- package/apps/official/flowise/compose.yml +46 -0
- package/apps/official/flowise/flowise-postgresql.yml +24 -0
- package/apps/official/flowise/flowise-redis.yml +23 -0
- package/apps/official/flowise/manifest.json +125 -0
- package/apps/official/freshrss/compose.yml +20 -0
- package/apps/official/freshrss/manifest.json +65 -0
- package/apps/official/funkwhale/compose.yml +24 -0
- package/apps/official/funkwhale/files/post-install.sh +8 -0
- package/apps/official/funkwhale/manifest.json +69 -0
- package/apps/official/gamevault/compose.yml +26 -0
- package/apps/official/gamevault/gamevault-postgresql.yml +24 -0
- package/apps/official/gamevault/manifest.json +101 -0
- package/apps/official/glances/compose.yml +26 -0
- package/apps/official/glances/files/glances.conf +771 -0
- package/apps/official/glances/manifest.json +72 -0
- package/apps/official/gluetun/compose.yml +33 -0
- package/apps/official/gluetun/files/post-install.sh +78 -0
- package/apps/official/gluetun/manifest.json +88 -0
- package/apps/official/gonic/compose.yml +26 -0
- package/apps/official/gonic/manifest.json +78 -0
- package/apps/official/gptwol/compose.yml +23 -0
- package/apps/official/gptwol/manifest.json +81 -0
- package/apps/official/grafana/compose.yml +19 -0
- package/apps/official/grafana/manifest.json +81 -0
- package/apps/official/grocy/compose.yml +20 -0
- package/apps/official/grocy/manifest.json +74 -0
- package/apps/official/guacamole/compose.yml +26 -0
- package/apps/official/guacamole/guacamole-mariadb.yml +26 -0
- package/apps/official/guacamole/guacd.yml +12 -0
- package/apps/official/guacamole/hooks/post-install.sh +60 -0
- package/apps/official/guacamole/manifest.json +131 -0
- package/apps/official/heimdall/compose.yml +20 -0
- package/apps/official/heimdall/manifest.json +65 -0
- package/apps/official/homarr/compose.yml +22 -0
- package/apps/official/homarr/manifest.json +73 -0
- package/apps/official/homebridge/compose.yml +13 -0
- package/apps/official/homebridge/manifest.json +66 -0
- package/apps/official/homepage/compose.yml +22 -0
- package/apps/official/homepage/manifest.json +65 -0
- package/apps/official/homer/compose.yml +20 -0
- package/apps/official/homer/manifest.json +65 -0
- package/apps/official/immich/compose.yml +35 -0
- package/apps/official/immich/immich-machine-learning.yml +21 -0
- package/apps/official/immich/immich-postgresql.yml +30 -0
- package/apps/official/immich/immich-redis.yml +23 -0
- package/apps/official/immich/manifest.json +135 -0
- package/apps/official/influxdb/compose.yml +17 -0
- package/apps/official/influxdb/manifest.json +65 -0
- package/apps/official/it-tools/compose.yml +14 -0
- package/apps/official/it-tools/manifest.json +65 -0
- package/apps/official/jackett/compose.yml +21 -0
- package/apps/official/jackett/manifest.json +65 -0
- package/apps/official/jellyfin/compose.yml +27 -0
- package/apps/official/jellyfin/manifest.json +89 -0
- package/apps/official/jellyseerr/compose.yml +19 -0
- package/apps/official/jellyseerr/manifest.json +65 -0
- package/apps/official/kasm/compose.yml +27 -0
- package/apps/official/kasm/manifest.json +115 -0
- package/apps/official/kavita/compose.yml +21 -0
- package/apps/official/kavita/manifest.json +65 -0
- package/apps/official/kometa/compose.yml +23 -0
- package/apps/official/kometa/manifest.json +56 -0
- package/apps/official/komga/compose.yml +22 -0
- package/apps/official/komga/manifest.json +65 -0
- package/apps/official/langfuse/compose.yml +64 -0
- package/apps/official/langfuse/files/pre-install.sh +178 -0
- package/apps/official/langfuse/langfuse-clickhouse.yml +25 -0
- package/apps/official/langfuse/langfuse-minio.yml +25 -0
- package/apps/official/langfuse/langfuse-postgresql.yml +26 -0
- package/apps/official/langfuse/langfuse-redis.yml +22 -0
- package/apps/official/langfuse/langfuse-worker.yml +50 -0
- package/apps/official/langfuse/manifest.json +201 -0
- package/apps/official/lidarr/compose.yml +25 -0
- package/apps/official/lidarr/manifest.json +65 -0
- package/apps/official/lollypop/compose.yml +26 -0
- package/apps/official/lollypop/manifest.json +83 -0
- package/apps/official/maintainerr/compose.yml +20 -0
- package/apps/official/maintainerr/manifest.json +72 -0
- package/apps/official/mariadb/compose.yml +27 -0
- package/apps/official/mariadb/manifest.json +74 -0
- package/apps/official/mosquitto/compose.yml +24 -0
- package/apps/official/mosquitto/files/mosquitto.conf +15 -0
- package/apps/official/mosquitto/files/passwd +0 -0
- package/apps/official/mosquitto/files/post-install.sh +23 -0
- package/apps/official/mosquitto/manifest.json +123 -0
- package/apps/official/mqttx-web/compose.yml +14 -0
- package/apps/official/mqttx-web/manifest.json +74 -0
- package/apps/official/mylar3/compose.yml +22 -0
- package/apps/official/mylar3/manifest.json +65 -0
- package/apps/official/n8n/compose.yml +29 -0
- package/apps/official/n8n/files/pre-install.sh +26 -0
- package/apps/official/n8n/manifest.json +103 -0
- package/apps/official/n8n/n8n-postgresql.yml +26 -0
- package/apps/official/navidrome/compose.yml +26 -0
- package/apps/official/navidrome/manifest.json +65 -0
- package/apps/official/netdata/compose.yml +28 -0
- package/apps/official/netdata/manifest.json +66 -0
- package/apps/official/nextcloud/compose.yml +38 -0
- package/apps/official/nextcloud/manifest.json +159 -0
- package/apps/official/nextcloud/nextcloud-mariadb.yml +29 -0
- package/apps/official/nextcloud/nextcloud-redis.yml +20 -0
- package/apps/official/node-exporter/compose.yml +23 -0
- package/apps/official/node-exporter/manifest.json +65 -0
- package/apps/official/node-red/compose.yml +16 -0
- package/apps/official/node-red/manifest.json +72 -0
- package/apps/official/notifiarr/compose.yml +23 -0
- package/apps/official/notifiarr/manifest.json +75 -0
- package/apps/official/nzbget/compose.yml +23 -0
- package/apps/official/nzbget/manifest.json +74 -0
- package/apps/official/ollama/compose.yml +17 -0
- package/apps/official/ollama/manifest.json +85 -0
- package/apps/official/ombi/compose.yml +21 -0
- package/apps/official/ombi/manifest.json +65 -0
- package/apps/official/open-webui/compose.yml +21 -0
- package/apps/official/open-webui/manifest.json +75 -0
- package/apps/official/openhands/compose.yml +23 -0
- package/apps/official/openhands/manifest.json +65 -0
- package/apps/official/organizr/compose.yml +19 -0
- package/apps/official/organizr/manifest.json +78 -0
- package/apps/official/overseerr/compose.yml +20 -0
- package/apps/official/overseerr/manifest.json +65 -0
- package/apps/official/paperless-ai/compose.yml +16 -0
- package/apps/official/paperless-ai/manifest.json +74 -0
- package/apps/official/paperless-ngx/compose.yml +51 -0
- package/apps/official/paperless-ngx/gotenberg.yml +18 -0
- package/apps/official/paperless-ngx/manifest.json +179 -0
- package/apps/official/paperless-ngx/paperless-ngx-mariadb.yml +26 -0
- package/apps/official/paperless-ngx/paperless-ngx-redis.yml +23 -0
- package/apps/official/paperless-ngx/tika.yml +12 -0
- package/apps/official/pdfding/compose.yml +32 -0
- package/apps/official/pdfding/files/post-install.sh +55 -0
- package/apps/official/pdfding/manifest.json +120 -0
- package/apps/official/pdfding/pdfding-postgresql.yml +24 -0
- package/apps/official/pgadmin/compose.yml +17 -0
- package/apps/official/pgadmin/manifest.json +80 -0
- package/apps/official/phpmyadmin/compose.yml +22 -0
- package/apps/official/phpmyadmin/manifest.json +65 -0
- package/apps/official/pihole/compose.yml +41 -0
- package/apps/official/pihole/manifest.json +89 -0
- package/apps/official/piwigo/compose.yml +22 -0
- package/apps/official/piwigo/manifest.json +65 -0
- package/apps/official/plex/compose.yml +39 -0
- package/apps/official/plex/files/pre-install.sh +24 -0
- package/apps/official/plex/manifest.json +109 -0
- package/apps/official/portainer/compose.yml +22 -0
- package/apps/official/portainer/manifest.json +91 -0
- package/apps/official/postgresql/compose.yml +28 -0
- package/apps/official/postgresql/manifest.json +89 -0
- package/apps/official/privatebin/compose.yml +20 -0
- package/apps/official/privatebin/files/conf.php +90 -0
- package/apps/official/privatebin/manifest.json +82 -0
- package/apps/official/projectsend/compose.yml +21 -0
- package/apps/official/projectsend/manifest.json +72 -0
- package/apps/official/prometheus/compose.yml +25 -0
- package/apps/official/prometheus/files/prometheus.yml +3 -0
- package/apps/official/prometheus/manifest.json +79 -0
- package/apps/official/prowlarr/compose.yml +22 -0
- package/apps/official/prowlarr/manifest.json +65 -0
- package/apps/official/pulse/compose.yml +28 -0
- package/apps/official/pulse/files/post-install.sh +29 -0
- package/apps/official/pulse/manifest.json +78 -0
- package/apps/official/qbittorrent/compose.yml +22 -0
- package/apps/official/qbittorrent/files/pre-install.sh +5 -0
- package/apps/official/qbittorrent/files/qBittorrent.conf +39 -0
- package/apps/official/qbittorrent/manifest.json +96 -0
- package/apps/official/qbittorrent-vpn/compose.yml +26 -0
- package/apps/official/qbittorrent-vpn/files/post-install.sh +52 -0
- package/apps/official/qbittorrent-vpn/files/pre-install.sh +10 -0
- package/apps/official/qbittorrent-vpn/files/qBittorrent.conf +39 -0
- package/apps/official/qbittorrent-vpn/manifest.json +108 -0
- package/apps/official/qdrant/compose.yml +15 -0
- package/apps/official/qdrant/manifest.json +82 -0
- package/apps/official/radarr/compose.yml +25 -0
- package/apps/official/radarr/manifest.json +65 -0
- package/apps/official/redis/compose.yml +26 -0
- package/apps/official/redis/manifest.json +73 -0
- package/apps/official/redis-commander/compose.yml +20 -0
- package/apps/official/redis-commander/manifest.json +65 -0
- package/apps/official/remmina/compose.yml +23 -0
- package/apps/official/remmina/manifest.json +84 -0
- package/apps/official/resilio-sync/compose.yml +23 -0
- package/apps/official/resilio-sync/manifest.json +74 -0
- package/apps/official/sabnzbd/compose.yml +23 -0
- package/apps/official/sabnzbd/files/post-install.sh +35 -0
- package/apps/official/sabnzbd/manifest.json +75 -0
- package/apps/official/scrutiny/compose.yml +25 -0
- package/apps/official/scrutiny/manifest.json +113 -0
- package/apps/official/scrutiny/scrutiny-influxdb.yml +28 -0
- package/apps/official/searxng/compose.yml +28 -0
- package/apps/official/searxng/files/limiter.toml +6 -0
- package/apps/official/searxng/files/pre-install.sh +25 -0
- package/apps/official/searxng/files/settings.yml +8 -0
- package/apps/official/searxng/manifest.json +88 -0
- package/apps/official/searxng/searxng-valkey.yml +26 -0
- package/apps/official/shellinabox/manifest.json +68 -0
- package/apps/official/smokeping/compose.yml +21 -0
- package/apps/official/smokeping/manifest.json +65 -0
- package/apps/official/sonarr/compose.yml +25 -0
- package/apps/official/sonarr/manifest.json +65 -0
- package/apps/official/speedtest-tracker/compose.yml +30 -0
- package/apps/official/speedtest-tracker/manifest.json +119 -0
- package/apps/official/speedtest-tracker/speedtest-tracker-mariadb.yml +24 -0
- package/apps/official/sshwifty/compose.yml +17 -0
- package/apps/official/sshwifty/files/pre-install.sh +34 -0
- package/apps/official/sshwifty/files/sshwifty.conf.json +36 -0
- package/apps/official/sshwifty/manifest.json +101 -0
- package/apps/official/stirling-pdf/compose.yml +23 -0
- package/apps/official/stirling-pdf/manifest.json +65 -0
- package/apps/official/supabase/compose.yml +39 -0
- package/apps/official/supabase/files/pre-install.sh +201 -0
- package/apps/official/supabase/files/volumes/api/kong.yml +221 -0
- package/apps/official/supabase/files/volumes/db/_supabase.sql +3 -0
- package/apps/official/supabase/files/volumes/db/jwt.sql +5 -0
- package/apps/official/supabase/files/volumes/db/logs.sql +6 -0
- package/apps/official/supabase/files/volumes/db/pooler.sql +6 -0
- package/apps/official/supabase/files/volumes/db/realtime.sql +4 -0
- package/apps/official/supabase/files/volumes/db/roles.sql +8 -0
- package/apps/official/supabase/files/volumes/db/webhooks.sql +208 -0
- package/apps/official/supabase/files/volumes/functions/hello/index.ts +6 -0
- package/apps/official/supabase/files/volumes/functions/main/index.ts +93 -0
- package/apps/official/supabase/files/volumes/logs/vector.yml +266 -0
- package/apps/official/supabase/files/volumes/pooler/pooler.exs +30 -0
- package/apps/official/supabase/manifest.json +327 -0
- package/apps/official/supabase/supabase-analytics.yml +32 -0
- package/apps/official/supabase/supabase-auth.yml +34 -0
- package/apps/official/supabase/supabase-db.yml +42 -0
- package/apps/official/supabase/supabase-functions.yml +24 -0
- package/apps/official/supabase/supabase-imgproxy.yml +25 -0
- package/apps/official/supabase/supabase-kong.yml +30 -0
- package/apps/official/supabase/supabase-meta.yml +20 -0
- package/apps/official/supabase/supabase-pooler.yml +45 -0
- package/apps/official/supabase/supabase-realtime.yml +42 -0
- package/apps/official/supabase/supabase-rest.yml +21 -0
- package/apps/official/supabase/supabase-storage.yml +36 -0
- package/apps/official/supabase/supabase-vector.yml +23 -0
- package/apps/official/tailscale/compose.yml +23 -0
- package/apps/official/tailscale/manifest.json +65 -0
- package/apps/official/tautulli/compose.yml +21 -0
- package/apps/official/tautulli/files/pre-install.sh +9 -0
- package/apps/official/tautulli/manifest.json +69 -0
- package/apps/official/termix/compose.yml +18 -0
- package/apps/official/termix/manifest.json +65 -0
- package/apps/official/teslamate/teslamate-grafana.yml +22 -0
- package/apps/official/teslamate/teslamate-mosquitto.yml +27 -0
- package/apps/official/teslamate/teslamate-pgsql.yml +24 -0
- package/apps/official/teslamate/teslamate.yml +27 -0
- package/apps/official/thelounge/compose.yml +20 -0
- package/apps/official/thelounge/manifest.json +65 -0
- package/apps/official/theme-park/compose.yml +21 -0
- package/apps/official/theme-park/manifest.json +74 -0
- package/apps/official/traefik-access-log/compose.yml +14 -0
- package/apps/official/traefik-access-log/manifest.json +59 -0
- package/apps/official/traefik-certs-dumper/compose.yml +18 -0
- package/apps/official/traefik-certs-dumper/manifest.json +56 -0
- package/apps/official/traefik-error-log/compose.yml +14 -0
- package/apps/official/traefik-error-log/manifest.json +59 -0
- package/apps/official/transmission/compose.yml +33 -0
- package/apps/official/transmission/manifest.json +90 -0
- package/apps/official/trilium/compose.yml +19 -0
- package/apps/official/trilium/manifest.json +65 -0
- package/apps/official/uptime-kuma/compose.yml +17 -0
- package/apps/official/uptime-kuma/manifest.json +65 -0
- package/apps/official/vaultwarden/compose.yml +20 -0
- package/apps/official/vaultwarden/files/pre-install.sh +27 -0
- package/apps/official/vaultwarden/manifest.json +86 -0
- package/apps/official/vikunja/compose.yml +30 -0
- package/apps/official/vikunja/manifest.json +123 -0
- package/apps/official/vikunja/vikunja-mariadb.yml +26 -0
- package/apps/official/viniplay/compose.yml +18 -0
- package/apps/official/viniplay/files/pre-install.sh +9 -0
- package/apps/official/viniplay/manifest.json +63 -0
- package/apps/official/vscode/compose.yml +28 -0
- package/apps/official/vscode/manifest.json +65 -0
- package/apps/official/wallos/compose.yml +19 -0
- package/apps/official/wallos/manifest.json +65 -0
- package/apps/official/weaviate/compose.yml +28 -0
- package/apps/official/weaviate/manifest.json +82 -0
- package/apps/official/wg-easy/compose.yml +31 -0
- package/apps/official/wg-easy/files/post-install.sh +32 -0
- package/apps/official/wg-easy/manifest.json +118 -0
- package/apps/official/wikidocs/compose.yml +19 -0
- package/apps/official/wikidocs/manifest.json +65 -0
- package/apps/official/wud/compose.yml +22 -0
- package/apps/official/wud/manifest.json +74 -0
- package/apps/official/xpipe-webtop/compose.yml +21 -0
- package/apps/official/xpipe-webtop/manifest.json +83 -0
- package/apps/official/zerotier/compose.yml +17 -0
- package/apps/official/zerotier/files/post-install.sh +23 -0
- package/apps/official/zerotier/manifest.json +78 -0
- package/apps/unofficial/9router/compose.yml +30 -0
- package/apps/unofficial/9router/files/oauth-fix.patch +32 -0
- package/apps/unofficial/9router/files/pre-install.sh +87 -0
- package/apps/unofficial/9router/manifest.json +144 -0
- package/apps/unofficial/openclaw/Dockerfile.full +79 -0
- package/apps/unofficial/openclaw/compose.yml +60 -0
- package/apps/unofficial/openclaw/files/post-install.sh +316 -0
- package/apps/unofficial/openclaw/files/pre-install.sh +174 -0
- package/apps/unofficial/openclaw/manifest.json +178 -0
- package/apps/version_pins +67 -0
- package/bin/deployrr-init.sh +49 -0
- package/latest-version +1 -0
- 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,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,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,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
|