@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,174 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# OpenClaw pre-install hook
|
|
3
|
+
# Clones the OpenClaw repo and builds the Docker image with extra packages
|
|
4
|
+
# Uses upstream pnpm build with OPENCLAW_DOCKER_APT_PACKAGES and OPENCLAW_INSTALL_BROWSER
|
|
5
|
+
# Includes: git, curl, jq, build-essential, Chromium/Playwright baked into image
|
|
6
|
+
# Auto-configures 9Router integration if available
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
BUILD_DIR="$DOCKER_FOLDER/appdata/openclaw/build"
|
|
10
|
+
IMAGE_NAME="deployrr/openclaw:latest"
|
|
11
|
+
CONFIG_DIR="$DOCKER_FOLDER/appdata/shared/openclaw-cli"
|
|
12
|
+
APP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
13
|
+
|
|
14
|
+
# Step 1: Check if image already exists
|
|
15
|
+
f_print_substep "Checking for existing OpenClaw image..."
|
|
16
|
+
if sudo docker image inspect "$IMAGE_NAME" &>/dev/null; then
|
|
17
|
+
f_print_substep "Image $IMAGE_NAME already exists"
|
|
18
|
+
f_print_substep "To rebuild, run: sudo docker rmi $IMAGE_NAME"
|
|
19
|
+
else
|
|
20
|
+
# Step 2: Clone or update the OpenClaw repository
|
|
21
|
+
f_print_substep "Preparing OpenClaw source code..."
|
|
22
|
+
if [[ -d "$BUILD_DIR/.git" ]]; then
|
|
23
|
+
f_print_substep "Updating existing repository..."
|
|
24
|
+
if ! sudo git -C "$BUILD_DIR" pull --ff-only; then
|
|
25
|
+
f_print_substep "Pull failed, re-cloning..."
|
|
26
|
+
sudo rm -rf "$BUILD_DIR"
|
|
27
|
+
if ! sudo git clone --depth 1 https://github.com/openclaw/openclaw.git "$BUILD_DIR"; then
|
|
28
|
+
f_print_error "Failed to clone OpenClaw repository"
|
|
29
|
+
return 1
|
|
30
|
+
fi
|
|
31
|
+
fi
|
|
32
|
+
else
|
|
33
|
+
f_print_substep "Cloning OpenClaw repository (this may take a minute)..."
|
|
34
|
+
sudo mkdir -p "$(dirname "$BUILD_DIR")"
|
|
35
|
+
sudo rm -rf "$BUILD_DIR"
|
|
36
|
+
if ! sudo git clone --depth 1 https://github.com/openclaw/openclaw.git "$BUILD_DIR"; then
|
|
37
|
+
f_print_error "Failed to clone OpenClaw repository"
|
|
38
|
+
return 1
|
|
39
|
+
fi
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
# Fix permissions so build context is readable
|
|
43
|
+
sudo chmod -R a+rX "$BUILD_DIR"
|
|
44
|
+
|
|
45
|
+
# Step 3: Validate build context has essential files
|
|
46
|
+
for _required_file in package.json pnpm-lock.yaml .npmrc pnpm-workspace.yaml; do
|
|
47
|
+
if ! sudo test -f "$BUILD_DIR/$_required_file"; then
|
|
48
|
+
f_print_error "Build context missing '$_required_file' — clone may have failed"
|
|
49
|
+
f_print_error "Try removing $BUILD_DIR and re-running the installer"
|
|
50
|
+
return 1
|
|
51
|
+
fi
|
|
52
|
+
done
|
|
53
|
+
f_print_substep "Build context validated ($(sudo du -sh "$BUILD_DIR" | cut -f1) source tree)"
|
|
54
|
+
|
|
55
|
+
# Step 4: Copy the full Dockerfile into the build context
|
|
56
|
+
f_print_substep "Using full-featured Dockerfile (pnpm + extra packages)..."
|
|
57
|
+
sudo cp "$APP_DIR/Dockerfile.full" "$BUILD_DIR/Dockerfile.full"
|
|
58
|
+
|
|
59
|
+
# Step 7: Build the Docker image with extra packages (using full paths, no cd needed)
|
|
60
|
+
f_print_substep "Building OpenClaw image (this may take 10-15 minutes)..."
|
|
61
|
+
f_print_substep "Image name: $IMAGE_NAME"
|
|
62
|
+
f_print_substep "Includes: git, curl, jq, build-essential, Chromium/Playwright"
|
|
63
|
+
if sudo docker build -t "$IMAGE_NAME" -f "$BUILD_DIR/Dockerfile.full" "$BUILD_DIR"; then
|
|
64
|
+
f_print_success "OpenClaw image built successfully"
|
|
65
|
+
else
|
|
66
|
+
f_print_error "Failed to build OpenClaw image"
|
|
67
|
+
return 1
|
|
68
|
+
fi
|
|
69
|
+
fi
|
|
70
|
+
|
|
71
|
+
# Step 8: Read the gateway token Deployrr generated and write it to the service env file.
|
|
72
|
+
# We use env_file: in compose (not Docker secrets) because Docker Compose standalone secrets
|
|
73
|
+
# are bind-mounted with the host file's permissions (root:root 0600), and mode: in compose
|
|
74
|
+
# does NOT override host permissions for file-type secrets. env_file is read by the Docker
|
|
75
|
+
# daemon (root) and injected as env vars — the container process never reads any file.
|
|
76
|
+
f_print_substep "Reading gateway token from Docker secret..."
|
|
77
|
+
sudo mkdir -p "$DOCKER_FOLDER/secrets"
|
|
78
|
+
GATEWAY_TOKEN=$(sudo cat "$DOCKER_FOLDER/secrets/openclaw_gateway_token" 2>/dev/null)
|
|
79
|
+
if [[ -z "$GATEWAY_TOKEN" ]]; then
|
|
80
|
+
f_print_error "Gateway token secret not found — Deployrr should have created it before pre-install"
|
|
81
|
+
return 1
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
# Write the env file that compose injects via env_file:
|
|
85
|
+
# root:root 0600 — only root can read it on the host; Docker daemon reads it as root
|
|
86
|
+
sudo bash -c "printf 'OPENCLAW_GATEWAY_TOKEN=%s\n' '$GATEWAY_TOKEN' > '$DOCKER_FOLDER/secrets/openclaw.env'"
|
|
87
|
+
sudo chmod 600 "$DOCKER_FOLDER/secrets/openclaw.env"
|
|
88
|
+
sudo chown root:root "$DOCKER_FOLDER/secrets/openclaw.env"
|
|
89
|
+
export OPENCLAW_GATEWAY_TOKEN="$GATEWAY_TOKEN"
|
|
90
|
+
f_print_success "Gateway token written to env file (root:root 0600)"
|
|
91
|
+
|
|
92
|
+
# Step 6b: Clean stale device identity/pairing state from previous installs
|
|
93
|
+
# These directories cache device-auth and paired-device data tied to the old token.
|
|
94
|
+
# Without cleaning them, a new token causes "1008: pairing required" errors.
|
|
95
|
+
f_print_substep "Cleaning stale device pairing state..."
|
|
96
|
+
for _stale_dir in identity devices credentials sessions; do
|
|
97
|
+
if sudo test -d "$CONFIG_DIR/$_stale_dir"; then
|
|
98
|
+
sudo rm -rf "$CONFIG_DIR/$_stale_dir"
|
|
99
|
+
f_print_substep "Removed stale $_stale_dir directory"
|
|
100
|
+
fi
|
|
101
|
+
done
|
|
102
|
+
|
|
103
|
+
# Step 7: Ensure config directory exists
|
|
104
|
+
# NOTE: openclaw.json is written in post-install AFTER the container starts.
|
|
105
|
+
# The container overwrites openclaw.json on first startup (normalizes it),
|
|
106
|
+
# so writing it here would be immediately discarded. Post-install writes it
|
|
107
|
+
# after the container has done its first-run initialization, then restarts
|
|
108
|
+
# the container so it picks up allowInsecureAuth and trustedProxies.
|
|
109
|
+
f_print_substep "Preparing OpenClaw config directory..."
|
|
110
|
+
sudo mkdir -p "$CONFIG_DIR"
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
# Step 8: Set ownership of ALL volume-mounted directories (container runs as node:1000)
|
|
115
|
+
f_print_substep "Setting directory ownership (UID 1000 for node user)..."
|
|
116
|
+
sudo mkdir -p "$DOCKER_FOLDER/appdata/openclaw/home"
|
|
117
|
+
sudo chown -R 1000:1000 "$CONFIG_DIR"
|
|
118
|
+
sudo chown -R 1000:1000 "$DOCKER_FOLDER/appdata/openclaw/workspace"
|
|
119
|
+
sudo chown -R 1000:1000 "$DOCKER_FOLDER/appdata/openclaw/home"
|
|
120
|
+
|
|
121
|
+
# Step 9: Run non-interactive onboard to create device identity
|
|
122
|
+
# This is CRITICAL — without it, the gateway has no approved devices and
|
|
123
|
+
# all connections (browser UI, CLI) get "1008: pairing required".
|
|
124
|
+
# Upstream flow: build → onboard → start gateway. We replicate this with raw docker run.
|
|
125
|
+
f_print_substep "Running OpenClaw onboarding (creating device identity)..."
|
|
126
|
+
|
|
127
|
+
# Build onboard args — with or without 9Router provider
|
|
128
|
+
ONBOARD_ARGS=(
|
|
129
|
+
"onboard" "--non-interactive" "--accept-risk"
|
|
130
|
+
"--gateway-port" "18789"
|
|
131
|
+
"--gateway-bind" "lan"
|
|
132
|
+
"--no-install-daemon"
|
|
133
|
+
"--skip-skills"
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
# If 9Router is running, configure it as the provider during onboard
|
|
137
|
+
if sudo docker ps --format '{{.Names}}' 2>/dev/null | grep -q '^9router$'; then
|
|
138
|
+
ONBOARD_ARGS+=(
|
|
139
|
+
"--auth-choice" "custom-api-key"
|
|
140
|
+
"--custom-base-url" "http://9router:20128/v1"
|
|
141
|
+
"--custom-model-id" "auto"
|
|
142
|
+
"--custom-api-key" "sk_9router"
|
|
143
|
+
"--custom-provider-id" "9router"
|
|
144
|
+
"--custom-compatibility" "openai"
|
|
145
|
+
)
|
|
146
|
+
fi
|
|
147
|
+
|
|
148
|
+
# Run onboard via raw docker run (not compose — avoids timing issues)
|
|
149
|
+
# Must use same volumes so identity is written to the shared config dir
|
|
150
|
+
# Pass OPENCLAW_GATEWAY_TOKEN so onboarding registers this gateway's identity
|
|
151
|
+
# with the correct token (the one Deployrr generated and stored in the secret).
|
|
152
|
+
if sudo docker run --rm \
|
|
153
|
+
-e HOME=/home/node \
|
|
154
|
+
-e OPENCLAW_GATEWAY_TOKEN="$GATEWAY_TOKEN" \
|
|
155
|
+
-v "$CONFIG_DIR:/home/node/.openclaw" \
|
|
156
|
+
-v "$DOCKER_FOLDER/appdata/openclaw/workspace:/home/node/.openclaw/workspace" \
|
|
157
|
+
--user 1000:1000 \
|
|
158
|
+
"$IMAGE_NAME" \
|
|
159
|
+
node openclaw.mjs "${ONBOARD_ARGS[@]}" 2>&1; then
|
|
160
|
+
f_print_success "Device identity created — pairing will be automatic"
|
|
161
|
+
else
|
|
162
|
+
f_print_warning "Onboard returned non-zero (may still work — identity might already exist)"
|
|
163
|
+
fi
|
|
164
|
+
|
|
165
|
+
# Step 10: Verify Docker socket access for sandbox support
|
|
166
|
+
f_print_substep "Checking Docker socket access for sandbox support..."
|
|
167
|
+
if [[ -S /var/run/docker.sock ]]; then
|
|
168
|
+
f_print_substep "Docker socket available — sandbox features enabled"
|
|
169
|
+
f_print_substep "Chromium/Playwright pre-installed in image (no first-run download needed)"
|
|
170
|
+
else
|
|
171
|
+
f_print_warning "Docker socket not found — sandbox features will be limited"
|
|
172
|
+
fi
|
|
173
|
+
|
|
174
|
+
f_print_success "OpenClaw pre-install completed"
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../../apps/manifest-schema.json",
|
|
3
|
+
"version": "1.2",
|
|
4
|
+
"app": {
|
|
5
|
+
"sname": "openclaw",
|
|
6
|
+
"pname": "OpenClaw",
|
|
7
|
+
"description": "Power-user OpenClaw deployment with agent sandboxing, persistent home volume, and Playwright browser support. WARNING: Mounts Docker socket to enable agent sandbox containers — grants the container access to the host Docker daemon.",
|
|
8
|
+
"descriptionShort": "AI assistant w/ sandbox (9Router rec.)",
|
|
9
|
+
"icon": "https://raw.githubusercontent.com/openclaw/openclaw/main/ui/public/favicon.svg",
|
|
10
|
+
"category": "unofficial",
|
|
11
|
+
"menuNumber": "06",
|
|
12
|
+
"tags": [
|
|
13
|
+
"ai",
|
|
14
|
+
"development",
|
|
15
|
+
"coding",
|
|
16
|
+
"llm",
|
|
17
|
+
"pro",
|
|
18
|
+
"risky"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"deployment": {
|
|
22
|
+
"type": "single",
|
|
23
|
+
"compose": "compose.yml",
|
|
24
|
+
"profiles": [
|
|
25
|
+
"apps",
|
|
26
|
+
"all"
|
|
27
|
+
],
|
|
28
|
+
"networks": [
|
|
29
|
+
"default"
|
|
30
|
+
],
|
|
31
|
+
"build": {
|
|
32
|
+
"imageName": "deployrr/openclaw:latest",
|
|
33
|
+
"localBuild": true
|
|
34
|
+
},
|
|
35
|
+
"webui": true,
|
|
36
|
+
"port": 18789,
|
|
37
|
+
"protocol": "http"
|
|
38
|
+
},
|
|
39
|
+
"requirements": {
|
|
40
|
+
"prerequisites": [
|
|
41
|
+
"prerequisites",
|
|
42
|
+
"pro"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"env": {
|
|
46
|
+
"variables": [
|
|
47
|
+
{
|
|
48
|
+
"name": "OPENCLAW_PORT",
|
|
49
|
+
"description": "OpenClaw gateway web interface port",
|
|
50
|
+
"type": "port",
|
|
51
|
+
"default": 18789,
|
|
52
|
+
"prompt": true,
|
|
53
|
+
"required": true,
|
|
54
|
+
"validation": {
|
|
55
|
+
"type": "port",
|
|
56
|
+
"min": 1,
|
|
57
|
+
"max": 65535
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "OPENCLAW_OLLAMA_HEARTBEAT",
|
|
62
|
+
"description": "Route heartbeats to Ollama (free) instead of paid API",
|
|
63
|
+
"promptText": "Route heartbeats to a FREE local LLM via Ollama?\n\nBy default, OpenClaw heartbeats use your paid API.\nIf you have Ollama installed, this will pull llama3.2:3b\nand route heartbeat checks through it instead — saving\n~$5-15/month on API costs.\n\nRequires: Ollama container running.\n\nType 'yes' to enable or 'no' to skip:",
|
|
64
|
+
"type": "string",
|
|
65
|
+
"default": "no",
|
|
66
|
+
"prompt": true,
|
|
67
|
+
"required": false
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"secrets": [
|
|
71
|
+
{
|
|
72
|
+
"name": "openclaw_gateway_token",
|
|
73
|
+
"description": "Gateway authentication token — passed to the gateway process via OPENCLAW_GATEWAY_TOKEN env var. Generated by Deployrr and stored as a Docker secret.",
|
|
74
|
+
"type": "random",
|
|
75
|
+
"length": 32,
|
|
76
|
+
"addToCompose": false
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "openclaw.env",
|
|
80
|
+
"description": "Derived env file written by pre-install containing OPENCLAW_GATEWAY_TOKEN. Used by compose via env_file: since Docker standalone secrets cannot override host file permissions.",
|
|
81
|
+
"type": "derived",
|
|
82
|
+
"addToCompose": false
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"constants": [
|
|
86
|
+
{
|
|
87
|
+
"name": "OPENCLAW_CONFIG_DIR",
|
|
88
|
+
"value": "$DOCKERDIR/appdata/openclaw/config",
|
|
89
|
+
"description": "OpenClaw configuration directory"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "OPENCLAW_WORKSPACE_DIR",
|
|
93
|
+
"value": "$DOCKERDIR/appdata/openclaw/workspace",
|
|
94
|
+
"description": "OpenClaw workspace directory"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
"hooks": {
|
|
99
|
+
"preInstall": {
|
|
100
|
+
"runOnUpdate": true,
|
|
101
|
+
"dialog": {
|
|
102
|
+
"type": "warning",
|
|
103
|
+
"title": "OpenClaw - RISKY Deployment",
|
|
104
|
+
"message": "\\Z1⚠ SECURITY WARNING:\\Zn This deployment mounts the Docker socket.\\n\\nThis grants the container full access to your host Docker daemon, which allows it to:\\n• Create and destroy containers on your host\\n• Access host networking and volumes\\n• Potentially escalate privileges\\n\\nThis enables the \\Z4Agent Sandbox\\Zn feature (isolated containers per agent) and \\Z4Playwright\\Zn browser automation.\\n\\nOnly install this if you understand the risks.\\n\\nDo you want to proceed?"
|
|
105
|
+
},
|
|
106
|
+
"script": "files/pre-install.sh"
|
|
107
|
+
},
|
|
108
|
+
"postInstall": {
|
|
109
|
+
"script": "files/post-install.sh",
|
|
110
|
+
"messages": [
|
|
111
|
+
{
|
|
112
|
+
"style": "info",
|
|
113
|
+
"text": "OpenClaw gateway is running at http://$SERVER_LAN_IP:$OPENCLAW_PORT"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"style": "note",
|
|
117
|
+
"text": "Your gateway token has been saved to $DOCKER_FOLDER/secrets/openclaw_gateway_token"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"style": "info",
|
|
121
|
+
"text": "Traefik handles authentication automatically — no token or device pairing needed via your domain URL."
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"style": "info",
|
|
125
|
+
"text": "If 9Router is installed: Open 9Router dashboard → Providers → connect at least one provider → OpenClaw is ready!"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"style": "note",
|
|
129
|
+
"text": "If 9Router is NOT installed: Configure API providers manually via OpenClaw Settings or use: docker exec -it openclaw openclaw configure"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"style": "warning",
|
|
133
|
+
"text": "Docker socket is mounted — this container can manage host Docker resources."
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"style": "info",
|
|
137
|
+
"text": "Agent sandbox enabled. Build sandbox image: sudo docker compose run --rm openclaw node /app/node_modules/playwright-core/cli.js install chromium"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"style": "info",
|
|
141
|
+
"text": "If Ollama heartbeat was configured, heartbeats use ollama/llama3.2:3b (free) instead of your paid API."
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"style": "info",
|
|
145
|
+
"text": "For more info: https://docs.openclaw.ai/install/docker#power-user-%2F-full-featured-container-opt-in"
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
"copyValue": "$OPENCLAW_GATEWAY_TOKEN",
|
|
149
|
+
"copyLabel": "Copy Token"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"folders": {
|
|
153
|
+
"appdata": [
|
|
154
|
+
"config",
|
|
155
|
+
"workspace"
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
"traefik": {
|
|
159
|
+
"supported": true
|
|
160
|
+
},
|
|
161
|
+
"dashboard": {
|
|
162
|
+
"enabled": true,
|
|
163
|
+
"location": "local",
|
|
164
|
+
"showStats": true,
|
|
165
|
+
"portVariable": "OPENCLAW_PORT"
|
|
166
|
+
},
|
|
167
|
+
"status": {
|
|
168
|
+
"file": "06_openclaw_status",
|
|
169
|
+
"successMessage": "OpenClaw Setup Completed",
|
|
170
|
+
"telemetryAction": "openclaw"
|
|
171
|
+
},
|
|
172
|
+
"removal": {
|
|
173
|
+
"browserLocalStorageKeys": [
|
|
174
|
+
"openclaw.control.settings.v1",
|
|
175
|
+
"openclaw-device-identity-v1"
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# CORE APPS
|
|
2
|
+
AUTHENTIK_VERSION_PIN_DEFAULT='2025.12.1'
|
|
3
|
+
AUTHENTIKWORKER_VERSION_PIN_DEFAULT='2025.12.1'
|
|
4
|
+
AUTHENTIKPOSTGRESQL_VERSION_PIN_DEFAULT='16-alpine'
|
|
5
|
+
AUTHELIA_VERSION_PIN_DEFAULT='4.39.15'
|
|
6
|
+
TINYAUTH_VERSION_PIN_DEFAULT='v5'
|
|
7
|
+
TRAEFIK_VERSION_PIN_DEFAULT='3.6'
|
|
8
|
+
TRAEFIKBOUNCER_VERSION_PIN_DEFAULT='v1.4.7'
|
|
9
|
+
DEPLOYRRDASHBOARD_VERSION_PIN_DEFAULT='v1.9.0'
|
|
10
|
+
NPM_VERSION_PIN_DEFAULT='2.13.2'
|
|
11
|
+
OAUTH_VERSION_PIN_DEFAULT='latest'
|
|
12
|
+
|
|
13
|
+
# OFFICIAL APPS
|
|
14
|
+
POSTGRESQL_VERSION_PIN_DEFAULT='18-alpine'
|
|
15
|
+
N8N_VERSION_PIN_DEFAULT='2.7.0'
|
|
16
|
+
N8NPOSTGRESQL_VERSION_PIN_DEFAULT='18-alpine'
|
|
17
|
+
IMMICH_VERSION_PIN_DEFAULT='v2.5.3'
|
|
18
|
+
IMMICHPOSTGRESQL_VERSION_PIN_DEFAULT='14-vectorchord0.4.3-pgvectors0.2.0'
|
|
19
|
+
IMMICHREDIS_VERSION_PIN_DEFAULT='alpine'
|
|
20
|
+
IMMICHMACHINELEARNING_VERSION_PIN_DEFAULT='v2.5.3'
|
|
21
|
+
AUTOBRR_VERSION_PIN_DEFAULT='latest'
|
|
22
|
+
AUTOBRRPOSTGRESQL_VERSION_PIN_DEFAULT='18-alpine'
|
|
23
|
+
GAMEVAULT_VERSION_PIN_DEFAULT='latest'
|
|
24
|
+
GAMEVAULTPOSTGRESQL_VERSION_PIN_DEFAULT='18-alpine'
|
|
25
|
+
DOCKHAND_VERSION_PIN_DEFAULT='latest'
|
|
26
|
+
DOCKHANDPOSTGRESQL_VERSION_PIN_DEFAULT='18-alpine'
|
|
27
|
+
GUACAMOLE_VERSION_PIN_DEFAULT='latest'
|
|
28
|
+
GUACAMOLEMARIADB_VERSION_PIN_DEFAULT='latest'
|
|
29
|
+
GUACD_VERSION_PIN_DEFAULT='latest'
|
|
30
|
+
FLOWISE_VERSION_PIN_DEFAULT='latest'
|
|
31
|
+
FLOWISEPOSTGRESQL_VERSION_PIN_DEFAULT='18-alpine'
|
|
32
|
+
FLOWISEREDIS_VERSION_PIN_DEFAULT='alpine'
|
|
33
|
+
SEARXNGREDIS_VERSION_PIN_DEFAULT='alpine'
|
|
34
|
+
PDFDING_VERSION_PIN_DEFAULT='latest'
|
|
35
|
+
PDFDINGPOSTGRESQL_VERSION_PIN_DEFAULT='18-alpine'
|
|
36
|
+
NEXTCLOUD_VERSION_PIN_DEFAULT='latest'
|
|
37
|
+
NEXTCLOUDMARIADB_VERSION_PIN_DEFAULT='latest'
|
|
38
|
+
NEXTCLOUDREDIS_VERSION_PIN_DEFAULT='alpine'
|
|
39
|
+
SCRUTINY_VERSION_PIN_DEFAULT='master-web'
|
|
40
|
+
SCRUTINYINFLUXDB_VERSION_PIN_DEFAULT='2-alpine'
|
|
41
|
+
PAPERLESSNGX_VERSION_PIN_DEFAULT='latest'
|
|
42
|
+
PAPERLESSNGXMARIADB_VERSION_PIN_DEFAULT='latest'
|
|
43
|
+
PAPERLESSNGXREDIS_VERSION_PIN_DEFAULT='alpine'
|
|
44
|
+
GOTENBERG_VERSION_PIN_DEFAULT='latest'
|
|
45
|
+
TIKA_VERSION_PIN_DEFAULT='latest'
|
|
46
|
+
LANGFUSE_VERSION_PIN_DEFAULT='3'
|
|
47
|
+
LANGFUSEWORKER_VERSION_PIN_DEFAULT='3'
|
|
48
|
+
LANGFUSEPOSTGRESQL_VERSION_PIN_DEFAULT='17-alpine'
|
|
49
|
+
LANGFUSEREDIS_VERSION_PIN_DEFAULT='7-alpine'
|
|
50
|
+
LANGFUSECLICKHOUSE_VERSION_PIN_DEFAULT='latest'
|
|
51
|
+
LANGFUSEMINIO_VERSION_PIN_DEFAULT='latest'
|
|
52
|
+
SUPABASE_VERSION_PIN_DEFAULT='2026.02.16-sha-26c615c'
|
|
53
|
+
SUPABASEKONG_VERSION_PIN_DEFAULT='2.8.1'
|
|
54
|
+
SUPABASEAUTH_VERSION_PIN_DEFAULT='v2.186.0'
|
|
55
|
+
SUPABASEREST_VERSION_PIN_DEFAULT='v14.5'
|
|
56
|
+
SUPABASEREALTIME_VERSION_PIN_DEFAULT='v2.76.5'
|
|
57
|
+
SUPABASESTORAGE_VERSION_PIN_DEFAULT='v1.37.8'
|
|
58
|
+
SUPABASEIMGPROXY_VERSION_PIN_DEFAULT='v3.30.1'
|
|
59
|
+
SUPABASEMETA_VERSION_PIN_DEFAULT='v0.95.2'
|
|
60
|
+
SUPABASEFUNCTIONS_VERSION_PIN_DEFAULT='v1.70.3'
|
|
61
|
+
SUPABASEANALYTICS_VERSION_PIN_DEFAULT='1.31.2'
|
|
62
|
+
SUPABASEDB_VERSION_PIN_DEFAULT='15.8.1.085'
|
|
63
|
+
SUPABASEVECTOR_VERSION_PIN_DEFAULT='0.53.0-alpine'
|
|
64
|
+
SUPABASEPOOLER_VERSION_PIN_DEFAULT='2.7.4'
|
|
65
|
+
|
|
66
|
+
# COMMUNITY APPS
|
|
67
|
+
# (none yet)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
5
|
+
DEPLOYRR_DIR="/opt/deployrr"
|
|
6
|
+
|
|
7
|
+
echo "🚀 Deployrr Installer"
|
|
8
|
+
echo "━━━━━━━━━━━━━━━━━━━━━"
|
|
9
|
+
|
|
10
|
+
if [[ $EUID -ne 0 ]]; then
|
|
11
|
+
echo "This installer requires root privileges."
|
|
12
|
+
echo "Run: sudo npx @simplehomelab/deployrr"
|
|
13
|
+
exit 1
|
|
14
|
+
fi
|
|
15
|
+
|
|
16
|
+
# Create runtime directories
|
|
17
|
+
mkdir -p "$DEPLOYRR_DIR/apps"
|
|
18
|
+
|
|
19
|
+
# Copy app files from npm package
|
|
20
|
+
echo "📦 Installing app files..."
|
|
21
|
+
cp -r "$SCRIPT_DIR/apps/"* "$DEPLOYRR_DIR/apps/"
|
|
22
|
+
cp "$SCRIPT_DIR/latest-version" "$DEPLOYRR_DIR/" 2>/dev/null || true
|
|
23
|
+
cp "$SCRIPT_DIR/announcement" "$DEPLOYRR_DIR/" 2>/dev/null || true
|
|
24
|
+
|
|
25
|
+
# Detect architecture
|
|
26
|
+
ARCH=$(uname -m)
|
|
27
|
+
case "$ARCH" in
|
|
28
|
+
x86_64) ARCH_SUFFIX="" ;;
|
|
29
|
+
aarch64) ARCH_SUFFIX="-arm" ;;
|
|
30
|
+
*)
|
|
31
|
+
echo "❌ Unsupported architecture: $ARCH"
|
|
32
|
+
exit 1
|
|
33
|
+
;;
|
|
34
|
+
esac
|
|
35
|
+
|
|
36
|
+
VERSION=$(cat "$SCRIPT_DIR/latest-version" 2>/dev/null || echo "6.0")
|
|
37
|
+
BINARY="deployrr_v${VERSION}${ARCH_SUFFIX}.app"
|
|
38
|
+
|
|
39
|
+
echo "📥 Downloading Deployrr v${VERSION} (${ARCH})..."
|
|
40
|
+
if curl -fsSL -o "$DEPLOYRR_DIR/$BINARY" \
|
|
41
|
+
"https://files.deployrr.app/binary/${VERSION}/${ARCH}"; then
|
|
42
|
+
chmod +x "$DEPLOYRR_DIR/$BINARY"
|
|
43
|
+
echo ""
|
|
44
|
+
echo "✅ Deployrr v${VERSION} installed to $DEPLOYRR_DIR/$BINARY"
|
|
45
|
+
echo " Run: sudo $DEPLOYRR_DIR/$BINARY"
|
|
46
|
+
else
|
|
47
|
+
echo "❌ Download failed. Check your internet connection."
|
|
48
|
+
exit 1
|
|
49
|
+
fi
|
package/latest-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
6.0
|
package/package.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@simplehomelab/deployrr",
|
|
3
|
+
"version": "6.0.0-rc3",
|
|
4
|
+
"description": "Deployrr - Docker homelab deployment manager",
|
|
5
|
+
"bin": {
|
|
6
|
+
"deployrr": "./bin/deployrr-init.sh"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
"apps/",
|
|
10
|
+
"bin/",
|
|
11
|
+
"latest-version",
|
|
12
|
+
"announcement"
|
|
13
|
+
],
|
|
14
|
+
"keywords": ["docker", "homelab", "deployment", "compose"],
|
|
15
|
+
"author": "SimpleHomelab",
|
|
16
|
+
"license": "UNLICENSED",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "https://github.com/SimpleHomelab/Deployrr.git"
|
|
20
|
+
}
|
|
21
|
+
}
|