diff --git a/.github/workflows/generated-check.yml b/.github/workflows/generated-check.yml deleted file mode 100644 index 6df385e9..00000000 --- a/.github/workflows/generated-check.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Generated Scripts Check - -on: - pull_request: - branches: - - dev - - main - -jobs: - check-schema: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: 22 - cache: npm - - - name: Install deps - run: npm ci - - - name: Run generation scripts - run: npm run gen:all - - - name: Fail if diff is present - run: | - if [ -n "$(git diff --exit-code)" ]; then - echo "Generated files have changed. Please regenerate the files and commit the changes using the following command:" - echo "npm run gen:all" - exit 1 - else - echo "No changes detected in generated files." - fi diff --git a/docs/public/install-scripts/bazarr.json b/docs/public/install-scripts/bazarr.json deleted file mode 100644 index df200379..00000000 --- a/docs/public/install-scripts/bazarr.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": [ - "ApplicationsPerformance", - "Downloads", - "Movies", - "Shows" - ], - "specifications": [ - "2CORE", - "512MB" - ], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [30046] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)", - "network_share": true - }, - { - "path": "$LOCATION(Movies)", - "network_share": true - }, - { - "path": "$LOCATION(Shows)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsPerformance)/bazarr/config", - "snapshot": { "id": "config" } - } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/bazarr/config)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Downloads), /downloads)", - "$MOUNTED_HOST_PATH($LOCATION(Movies), /movies)", - "$MOUNTED_HOST_PATH($LOCATION(Shows), /tv)" - ] - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30046 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(5%, 1024)" - } - } - } -} diff --git a/docs/public/install-scripts/blinko.json b/docs/public/install-scripts/blinko.json deleted file mode 100644 index 00ca08e7..00000000 --- a/docs/public/install-scripts/blinko.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "Initial" - }, - "requirements": { - "locations": ["ApplicationsPerformance", "ApplicationsCapacity"], - "specifications": ["2CORE", "256MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [30412] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsCapacity)/blinko/data", "owner": { "user": "apps" }, "snapshot": { "id": "data" } }, - { "path": "$LOCATION(ApplicationsPerformance)/blinko/postgres_data", "owner": { "user": "netdata", "group": "docker" }, "snapshot": { "id": "db" } } - ], - "app_values": { - "blinko": { - "db_password": "$RANDOM_STRING(7)", - "nextauth_secret": "$RANDOM_STRING(7)", - "additional_envs": [] - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30412 - } - }, - "storage": { - "data": "$HOST_PATH($LOCATION(ApplicationsCapacity)/blinko/data)", - "postgres_data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/blinko/postgres_data)" - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 4096)" - } - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/dozzle.json b/docs/public/install-scripts/dozzle.json deleted file mode 100644 index b1dc57b1..00000000 --- a/docs/public/install-scripts/dozzle.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "initial" - }, - "requirements": { - "locations": [], - "specifications": ["2CORE", "1024MB"], - "permissions": [], - "ports": [30064] - }, - "ensure_directories_exists": [], - "app_values": { - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30064 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(5%, 1024)" - } - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/drawio.json b/docs/public/install-scripts/drawio.json deleted file mode 100644 index 4cfd27e5..00000000 --- a/docs/public/install-scripts/drawio.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": [], - "specifications": ["2CORE", "1024MB"], - "permissions": [], - "ports": [30090, 30091] - }, - "ensure_directories_exists": [], - "app_values": { - "network": { - "http_port": { - "bind_mode": "published", - "port_number": 30090 - }, - "https_port": { - "bind_mode": "published", - "port_number": 30091 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(5%, 1024)" - } - } - } -} diff --git a/docs/public/install-scripts/emby.json b/docs/public/install-scripts/emby.json deleted file mode 100644 index 04e84b7b..00000000 --- a/docs/public/install-scripts/emby.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": ["ApplicationsPerformance", "ApplicationsCapacity", "Media", "Photos", "Music", "Movies", "Shows", "Videos"], - "specifications": ["2CORE", "512MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [9096, 8920] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { - "path": "$LOCATION(Media)", - "network_share": true - }, - { - "path": "$LOCATION(Photos)", - "network_share": true - }, - { - "path": "$LOCATION(Music)", - "network_share": true - }, - { - "path": "$LOCATION(Movies)", - "network_share": true - }, - { - "path": "$LOCATION(Shows)", - "network_share": true - }, - { - "path": "$LOCATION(Videos)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/emby/config", "snapshot": { "id": "config" } }, - { "path": "$LOCATION(ApplicationsPerformance)/emby/cache" }, - { "path": "$LOCATION(ApplicationsPerformance)/emby/transcode" } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/emby/config)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Media), /media)", - "$MOUNTED_HOST_PATH($LOCATION(Photos), /photos)", - "$MOUNTED_HOST_PATH($LOCATION(Music), /music)", - "$MOUNTED_HOST_PATH($LOCATION(Movies), /movies)", - "$MOUNTED_HOST_PATH($LOCATION(Shows), /shows)", - "$MOUNTED_HOST_PATH($LOCATION(Videos), /videos)", - "$MOUNTED_HOST_PATH($LOCATION(ApplicationsPerformance)/emby/transcode, /transcode)", - "$MOUNTED_HOST_PATH($LOCATION(ApplicationsPerformance)/emby/cache, /cache)" - ] - }, - "network": { - "http_port": { - "bind_mode": "published", - "port_number": 9096 - }, - "https_port": { - "bind_mode": "published", - "port_number": 8920 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 4096)" - }, - "gpus": "$GPU_CONFIG()" - } - } -} diff --git a/docs/public/install-scripts/excalidraw.json b/docs/public/install-scripts/excalidraw.json deleted file mode 100644 index 85abbb10..00000000 --- a/docs/public/install-scripts/excalidraw.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "initial" - }, - "requirements": { - "locations": [], - "specifications": ["2CORE", "1024MB"], - "permissions": [], - "ports": [30255] - }, - "ensure_directories_exists": [], - "app_values": { - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30255 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(5%, 1024)" - } - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/fladder.json b/docs/public/install-scripts/fladder.json deleted file mode 100644 index 86700705..00000000 --- a/docs/public/install-scripts/fladder.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "Initial script" - }, - "requirements": { - "locations": [], - "specifications": ["2CORE", "200MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [30387] - }, - "app_values": { - "fladder": { - "jellyfin_base_url": "http://$SERVER_LAN_IP:30013" - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30387 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 2048)" - } - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/handbrake.json b/docs/public/install-scripts/handbrake.json deleted file mode 100644 index 9913aa4e..00000000 --- a/docs/public/install-scripts/handbrake.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": [ - "ApplicationsPerformance", - "Media", - "Movies", - "Shows", - "Videos" - ], - "specifications": [ - "2CORE", "2048MB"], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [30089, 30044] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(Media)", - "network_share": true - }, - { - "path": "$LOCATION(Movies)", - "network_share": true - }, - { - "path": "$LOCATION(Shows)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)", - "network_share": true - }, - { - "path": "$LOCATION(Videos)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsPerformance)/handbrake/config", - "snapshot": { "id": "config" } - }, - { - "path": "$LOCATION(Media)/HandBrake/Output" - } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/handbrake/config)", - "storage": "$HOST_PATH($LOCATION(Media)/HandBrake)", - "output": "$HOST_PATH($LOCATION(Media)/HandBrake/Output)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Movies), /movies)", - "$MOUNTED_HOST_PATH($LOCATION(Shows), /shows)", - "$MOUNTED_HOST_PATH($LOCATION(Downloads), /downloads)", - "$MOUNTED_HOST_PATH($LOCATION(Videos), /videos)" - ] - }, - "network": { - "web_port": { - "port_number": 30089 - }, - "vnc_port": { - "port_number": 30044 - } - }, - "resources": { - "limits": { - "cpus": 4, - "memory": "$MEMORY(10%, 4096)" - }, - "gpus": { - "use_all_gpus": true - } - } - } -} diff --git a/docs/public/install-scripts/home-assistant.json b/docs/public/install-scripts/home-assistant.json deleted file mode 100644 index 303ff2ad..00000000 --- a/docs/public/install-scripts/home-assistant.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": ["ApplicationsPerformance", "Media"], - "specifications": ["2CORE", "256MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [8123] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(Media)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/home-assistant/config", "owner": { "user": "apps" }, "snapshot": { "id": "config" } }, - { "path": "$LOCATION(ApplicationsPerformance)/home-assistant/postgres_data", "owner": { "user": "netdata", "group": "docker" }, "snapshot": { "id": "db" } }, - { "path": "$LOCATION(Media)/home-assistant" } - ], - "app_values": { - "home_assistant": { - "db_password": "$RANDOM_STRING(7)" - }, - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/home-assistant/config)", - "media": "$HOST_PATH($LOCATION(Media)/home-assistant)", - "postgres_data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/home-assistant/postgres_data)" - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 8123 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 2048)" - } - } - } -} diff --git a/docs/public/install-scripts/immich.json b/docs/public/install-scripts/immich.json deleted file mode 100644 index 6f06878d..00000000 --- a/docs/public/install-scripts/immich.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": ["ApplicationsPerformance", "Photos"], - "specifications": ["2CORE", "256MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [2283] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(Photos)", - "network_share": true - }, - { "path": "$LOCATION(Photos)/immich", "owner": { "user": "apps" }, "snapshot": { "id": "data" } }, - { "path": "$LOCATION(ApplicationsPerformance)/immich/postgres_data", "owner": { "user": "netdata", "group": "docker" }, "snapshot": { "id": "db" } } - ], - "app_values": { - "release_name": "immich", - "immich": { - "enable_ml": true, - "ml_image_selector": "ml_image", - "db_password": "$RANDOM_STRING(7)", - "redis_password": "$RANDOM_STRING(7)", - "log_level": "log", - "hugging_face_endpoint": "", - "db_storage_type": "SSD", - "additional_envs": [] - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 2283 - } - }, - "storage": { - "data": "$HOST_PATH($LOCATION(Photos)/immich)", - "ml_cache": { - "type": "temporary" - }, - "postgres_data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/immich/postgres_data)" - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 4096)" - }, - "gpus": "$GPU_CONFIG()" - } - } -} diff --git a/docs/public/install-scripts/jellyfin.json b/docs/public/install-scripts/jellyfin.json deleted file mode 100644 index 65f43b00..00000000 --- a/docs/public/install-scripts/jellyfin.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": ["ApplicationsPerformance", "ApplicationsCapacity", "Media", "Photos", "Music", "Movies", "Shows", "Videos"], - "specifications": ["2CORE", "256MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [30013, 30014] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { - "path": "$LOCATION(Media)", - "network_share": true - }, - { - "path": "$LOCATION(Photos)", - "network_share": true - }, - { - "path": "$LOCATION(Music)", - "network_share": true - }, - { - "path": "$LOCATION(Movies)", - "network_share": true - }, - { - "path": "$LOCATION(Shows)", - "network_share": true - }, - { - "path": "$LOCATION(Videos)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/jellyfin/config", "snapshot": { "id": "config" } }, - { "path": "$LOCATION(ApplicationsCapacity)/jellyfin/cache" }, - { "path": "$LOCATION(ApplicationsPerformance)/jellyfin/transcodes" } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/jellyfin/config)", - "cache": "$HOST_PATH($LOCATION(ApplicationsCapacity)/jellyfin/cache)", - "transcodes": "$HOST_PATH($LOCATION(ApplicationsPerformance)/jellyfin/transcodes)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Media), /media)", - "$MOUNTED_HOST_PATH($LOCATION(Photos), /photos)", - "$MOUNTED_HOST_PATH($LOCATION(Music), /music)", - "$MOUNTED_HOST_PATH($LOCATION(Movies), /movies)", - "$MOUNTED_HOST_PATH($LOCATION(Shows), /shows)", - "$MOUNTED_HOST_PATH($LOCATION(Videos), /videos)" - ] - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30013 - }, - "https_port": { - "bind_mode": "published", - "port_number": 30014 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 4096)" - }, - "gpus": "$GPU_CONFIG()" - } - } -} diff --git a/docs/public/install-scripts/jellystat.json b/docs/public/install-scripts/jellystat.json deleted file mode 100644 index 058ba0c8..00000000 --- a/docs/public/install-scripts/jellystat.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "Initial" - }, - "installation_questions": [ - { - "question": "Are you using Jellyfin or Emby?", - "type": "select", - "key": "is_emby_api", - "required": true, - "options": [ - { - "text": "Jellyfin", - "value": "false" - }, - { - "text": "Emby", - "value": "true" - } - ], - "default": "false" - } - ], - "requirements": { - "locations": ["ApplicationsPerformance"], - "specifications": ["2CORE", "256MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [30176] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/jellystat/backup", "snapshot": { "id": "backup" } }, - { "path": "$LOCATION(ApplicationsPerformance)/jellystat/postgres_data", "owner": { "user": "netdata", "group": "docker" }, "snapshot": { "id": "db" } } - ], - - "app_values": { - "jellystat": { - "db_password": "$RANDOM_STRING(7)", - "jwt_secret": "$RANDOM_STRING(7)", - "is_emby_api": "$QUESTION(is_emby_api)", - "additional_envs": [] - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30176 - } - }, - "storage": { - "backup": "$HOST_PATH($LOCATION(ApplicationsPerformance)/jellystat/backup)", - "postgres_data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/jellystat/postgres_data)" - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 4096)" - } - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/lidarr.json b/docs/public/install-scripts/lidarr.json deleted file mode 100644 index 7b20e650..00000000 --- a/docs/public/install-scripts/lidarr.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": [ - "ApplicationsPerformance", - "ApplicationsCapacity", - "Downloads", - "Music" - ], - "specifications": [ - "2CORE", - "512MB" - ], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [30071] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)", - "network_share": true - }, - { - "path": "$LOCATION(Music)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)/qbittorrent" - }, - { - "path": "$LOCATION(ApplicationsPerformance)/lidarr/config", - "snapshot": { "id": "config" } - } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/lidarr/config)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Downloads)/qbittorrent, /config/Downloads)", - "$MOUNTED_HOST_PATH($LOCATION(Music), /music)" - ] - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30071 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 2048)" - } - } - } -} diff --git a/docs/public/install-scripts/lubelogger.json b/docs/public/install-scripts/lubelogger.json deleted file mode 100644 index 74faebf2..00000000 --- a/docs/public/install-scripts/lubelogger.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "Initial Script" - }, - "requirements": { - "locations": ["ApplicationsPerformance", "ApplicationsCapacity"], - "specifications": ["2CORE", "256MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [30350] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/lubelogger/postgres", "owner": { "user": "netdata", "group": "docker" }, "snapshot": { "id": "db" } }, - { "path": "$LOCATION(ApplicationsCapacity)/lubelogger/data", "owner": { "user": "apps" }, "snapshot": { "id": "data" } }, - { "path": "$LOCATION(ApplicationsPerformance)/lubelogger/keys", "owner": { "user": "apps" }, "snapshot": { "id": "keys" } } - ], - "app_values": { - "lubelogger": { - "db_password": "$RANDOM_STRING(7)" - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30350 - } - }, - "storage": { - "data": "$HOST_PATH($LOCATION(ApplicationsCapacity)/lubelogger/data)", - "protection_keys": "$HOST_PATH($LOCATION(ApplicationsPerformance)/lubelogger/keys)", - "postgres_data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/lubelogger/postgres)" - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(5%, 1024)" - } - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/mkvtoolnix.json b/docs/public/install-scripts/mkvtoolnix.json deleted file mode 100644 index c95ed968..00000000 --- a/docs/public/install-scripts/mkvtoolnix.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "Initial Install script" - }, - "installation_questions": [ - { - "question": "Enable Dark mode", - "type": "select", - "key": "DARK_MODE", - "required": true, - "options": [ - { - "text": "Yes", - "value": "1" - }, - { - "text": "No", - "value": "0" - } - ] - } - ], - "requirements": { - "locations": [ - "ApplicationsPerformance", - "Videos", - "Documents", - "Media", - "Shows", - "Movies" - ], - "specifications": [ - "2CORE", "1024MB"], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [30309] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(Media)", - "network_share": true - }, - { - "path": "$LOCATION(Shows)", - "network_share": true - }, - { - "path": "$LOCATION(Movies)", - "network_share": true - }, - { - "path": "$LOCATION(Documents)", - "network_share": true - }, - { - "path": "$LOCATION(Videos)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/mkvtoolnix/config", "owner": { "user": "apps" }, "snapshot": { "id": "data" } }, - { "path": "$LOCATION(Documents)/mkvtoolnix"} - ], - "app_values": { - "mkvtoolnix": { - "additional_envs": [ - { - "name": "DARK_MODE", - "value": "$QUESTION(DARK_MODE)" - } - ] - }, - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/mkvtoolnix/config)", - "storage": "$HOST_PATH($LOCATION(Documents)/mkvtoolnix)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Media), /Media)", - "$MOUNTED_HOST_PATH($LOCATION(Videos), /Videos)", - "$MOUNTED_HOST_PATH($LOCATION(Shows), /Shows)", - "$MOUNTED_HOST_PATH($LOCATION(Movies), /Movies)" - ] - }, - "network": { - "web_port": { - "port_number": 30309 - } - }, - "resources": { - "limits": { - "cpus": 4, - "memory": "$MEMORY(10%, 4096)" - } - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/navidrome.json b/docs/public/install-scripts/navidrome.json deleted file mode 100644 index 09008fef..00000000 --- a/docs/public/install-scripts/navidrome.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "Initial Install Script" - }, - "installation_questions": [ - { - "question": "Select a welcome message (Optional)", - "description": "This message is shown at the login screen of Navidrome", - "type": "text", - "key": "welcome_message", - "required": false, - "default": "Welcome to Navidrome" - }, - { - "question": "Select the default language", - "description": "If the wrong language is showing you may have to clear your browser cookies.", - "type": "select", - "key": "default_language", - "required": true, - "options": [ - { - "text": "English", - "value": "en" - }, - { - "text": "Arabic (العربية)", - "value": "ar" - }, - { - "text": "Bulgarian (Български)", - "value": "bg" - }, - { - "text": "Bosnian (Bosanski)", - "value": "bs" - }, - { - "text": "Catalan (Català)", - "value": "ca" - }, - { - "text": "Czech (Čeština)", - "value": "cs" - }, - { - "text": "Danish (Dansk)", - "value": "da" - }, - { - "text": "German (Deutsch)", - "value": "de" - }, - { - "text": "Greek (Ελληνικά)", - "value": "el" - }, - { - "text": "Esperanto", - "value": "eo" - }, - { - "text": "Spanish (Español)", - "value": "es" - }, - { - "text": "Euskara", - "value": "eu" - }, - { - "text": "Persian (فارسی)", - "value": "fa" - }, - { - "text": "Finnish (Suomi)", - "value": "fi" - }, - { - "text": "French (Français)", - "value": "fr" - }, - { - "text": "Galician (Galego)", - "value": "gl" - }, - { - "text": "Hindi (हिंदी)", - "value": "hi" - }, - { - "text": "Hungarian (Magyar)", - "value": "hu" - }, - { - "text": "Indonesian (Bahasa Indonesia)", - "value": "id" - }, - { - "text": "Italian (Italiano)", - "value": "it" - }, - { - "text": "Japanese (日本語)", - "value": "ja" - }, - { - "text": "Korean (한국어)", - "value": "ko" - }, - { - "text": "Nederlands", - "value": "nl" - }, - { - "text": "Norwegian (Norsk)", - "value": "no" - }, - { - "text": "Polish (Polski)", - "value": "pl" - }, - { - "text": "brazilian Portuguese (Português (Brasil))", - "value": "pt-br" - }, - { - "text": "Russian (Русский)", - "value": "ru" - }, - { - "text": "Slovak (Slovenčina)", - "value": "sk" - }, - { - "text": "slovenian (Slovenščina)", - "value": "sl" - }, - { - "text": "Serbian (српски)", - "value": "sr" - }, - { - "text": "Swedish (Svenska)", - "value": "sv" - }, - { - "text": "Thai (ไทย)", - "value": "th" - }, - { - "text": "Turkish (Türkçe)", - "value": "tr" - }, - { - "text": "Ukrainian (Українська)", - "value": "uk" - }, - { - "text": "Simplified Chinese (简体中文)", - "value": "zh-Hans" - }, - { - "text": "Traditional Chinese (繁體中文)", - "value": "zh-Hant" - } - ], - "default": "en" - } - ], - "requirements": { - "locations": [ - "ApplicationsPerformance", - "Media", - "Music" - ], - "specifications": [ - "2CORE", "1024MB"], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [30043] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(Media)", - "network_share": true - }, - { - "path": "$LOCATION(Music)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/navidrome/data", "owner": { "user": "apps" }, "snapshot": { "id": "config" } } - ], - "app_values": { - "navidrome": { - "welcome_message": "$QUESTION(welcome_message)", - "additional_envs": [ - { - "name": "ND_DEFAULTLANGUAGE", - "value": "$QUESTION(default_language)" - } - ] - }, - "storage": { - "data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/navidrome/data)", - "music": "$HOST_PATH($LOCATION(Music))", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Media), /Media)" - ] - }, - "network": { - "web_port": { - "port_number": 30043 - } - }, - "resources": { - "limits": { - "cpus": 4, - "memory": "$MEMORY(10%, 4096)" - } - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/nextcloud.json b/docs/public/install-scripts/nextcloud.json deleted file mode 100644 index 7c335e7d..00000000 --- a/docs/public/install-scripts/nextcloud.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": [ - "ApplicationsPerformance", - "ApplicationsCapacity" - ], - "specifications": [ - "2CORE", - "2048MB" - ], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [30027] - }, - "installation_questions": [ - { - "question": "Nextcloud Username", - "description": "Create a username for the admin account. You'll use this to log in via web and mobile apps.", - "type": "text", - "key": "admin_user", - "required": true - }, - { - "question": "Nextcloud Password", - "description": "Create a password for the admin account. You'll need this to log in via web browser and mobile apps. Choose something secure but memorable!", - "type": "text", - "key": "admin_password", - "required": true - }, - { - "question": "Default Phone Region", - "description": "Two-letter country code (US, CA, GB, DE, FR, AU, etc.). This helps format phone numbers correctly. Common codes: US (United States), CA (Canada), GB (United Kingdom), DE (Germany), FR (France), AU (Australia). Leave blank if unsure.", - "type": "text", - "key": "phone_region", - "required": false, - "default": "US" - } - ], - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/nextcloud/html", "owner": { "user": "www-data" }, "snapshot": { "id": "html" } }, - { "path": "$LOCATION(ApplicationsPerformance)/nextcloud/postgres_data", "owner": { "user": "netdata", "group": "docker" }, "snapshot": { "id": "db" } }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsCapacity)/nextcloud/data", "snapshot": { "id": "data" } } - ], - "app_values": { - "nextcloud": { - "admin_user": "$QUESTION(admin_user)", - "admin_password": "$QUESTION(admin_password)", - "redis_password": "$RANDOM_STRING(16)", - "db_password": "$RANDOM_STRING(16)", - "host": "$SERVER_LAN_IP", - "postgres_image_selector": "postgres_17_image", - "apt_packages": [ - "ffmpeg", - "smbclient", - "ocrmypdf", - "libreoffice" - ], - "tesseract_languages": [ - "eng", - "spa", - "fra", - "deu", - "por", - "ita", - "nld", - "pol", - "rus", - "jpn", - "chi_sim", - "ara" - ], - "imaginary": { - "enabled": true - }, - "cron": { - "enabled": true, - "schedule": "*/5 * * * *" - }, - "additional_envs": [ - { - "name": "NC_default_phone_region", - "value": "$QUESTION(phone_region)" - }, - { - "name": "NC_maintenance_window_start", - "value": "1" - } - ] - }, - "storage": { - "html": "$HOST_PATH($LOCATION(ApplicationsPerformance)/nextcloud/html)", - "data": "$HOST_PATH($LOCATION(ApplicationsCapacity)/nextcloud/data)", - "postgres_data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/nextcloud/postgres_data)" - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30027 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 2048)" - } - } - } -} diff --git a/docs/public/install-scripts/peanut.json b/docs/public/install-scripts/peanut.json deleted file mode 100644 index e47b917e..00000000 --- a/docs/public/install-scripts/peanut.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": [ - "ApplicationsPerformance" - ], - "specifications": [ - "2CORE", - "1024MB" - ], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [30224] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsPerformance)/peanut/config", - "snapshot": { "id": "config" } - } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/peanut/config)" - } - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30224 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(5%, 1024)" - } - } -} diff --git a/docs/public/install-scripts/plex.json b/docs/public/install-scripts/plex.json deleted file mode 100644 index 3cba5050..00000000 --- a/docs/public/install-scripts/plex.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "installation_questions": [ - { - "question": "Claim Token (Optional)", - "description": "The claim token is used to automatically login to Plex. You can obtain a claim token to login your server to your Plex account by visiting https://www.plex.tv/claim.", - "placeholder": "claim-xxxxxxxxxxxxxxxxxxxxx", - "type": "text", - "key": "plex_claim_token", - "required": false, - "default": "" - }, - { - "question": "Do you have Plex Pass?", - "description": "Plex Pass is required to unlock certain features.", - "type": "select", - "key": "image_selector", - "required": true, - "options": [ - { - "text": "No, I don't have Plex Pass", - "value": "image" - }, - { - "text": "Yes, I have Plex Pass", - "value": "plex_pass_image" - } - ], - "default": "image" - } - ], - "requirements": { - "locations": ["ApplicationsPerformance", "ApplicationsCapacity", "Media", "Photos", "Music", "Movies", "Shows", "Videos"], - "specifications": ["2CORE", "200MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [32400] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { - "path": "$LOCATION(Media)", - "network_share": true - }, - { - "path": "$LOCATION(Photos)", - "network_share": true - }, - { - "path": "$LOCATION(Music)", - "network_share": true - }, - { - "path": "$LOCATION(Movies)", - "network_share": true - }, - { - "path": "$LOCATION(Shows)", - "network_share": true - }, - { - "path": "$LOCATION(Videos)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/plex/data", "owner": { "user": "apps" }, "snapshot": { "id": "data" } }, - { "path": "$LOCATION(ApplicationsPerformance)/plex/config", "owner": { "user": "apps" }, "snapshot": { "id": "config" } }, - { "path": "$LOCATION(ApplicationsCapacity)/plex/logs" }, - { "path": "$LOCATION(ApplicationsPerformance)/plex/transcode" } - ], - "app_values": { - "plex": { - "claim_token": "$QUESTION(plex_claim_token)", - "image_selector": "$QUESTION(image_selector)", - "additional_envs": [ - { - "name": "ADVERTISE_IP", - "value": "http://$SERVER_LAN_IP:32400" - } - ] - }, - "run_as": { - "user": 568, - "group": 568 - }, - "storage": { - "data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/plex/data)", - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/plex/config)", - "logs": "$HOST_PATH($LOCATION(ApplicationsCapacity)/plex/logs)", - "transcode": "$HOST_PATH($LOCATION(ApplicationsPerformance)/plex/transcode)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Media), /media)", - "$MOUNTED_HOST_PATH($LOCATION(Photos), /photos)", - "$MOUNTED_HOST_PATH($LOCATION(Music), /music)", - "$MOUNTED_HOST_PATH($LOCATION(Movies), /movies)", - "$MOUNTED_HOST_PATH($LOCATION(Shows), /shows)", - "$MOUNTED_HOST_PATH($LOCATION(Videos), /videos)" - ] - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 2048)" - }, - "gpus": "$GPU_CONFIG()" - } - } -} diff --git a/docs/public/install-scripts/portracker.json b/docs/public/install-scripts/portracker.json deleted file mode 100644 index c3ea6673..00000000 --- a/docs/public/install-scripts/portracker.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "Initial" - }, - "requirements": { - "locations": [ - "ApplicationsPerformance" - ], - "specifications": [ - "2CORE", - "1024MB" - ], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [30233] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/portracker/data", "owner": { "user": "apps" }, "snapshot": { "id": "data" } } - ], - "app_values": { - "storage": { - "data": "$HOST_PATH($LOCATION(ApplicationsPerformance)/portracker/data)" - } - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30233 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(5%, 1024)" - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/prowlarr.json b/docs/public/install-scripts/prowlarr.json deleted file mode 100644 index 9e7eedf2..00000000 --- a/docs/public/install-scripts/prowlarr.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": ["ApplicationsPerformance"], - "specifications": ["2CORE", "200MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [9696] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsPerformance)/prowlarr/config", - "snapshot": { "id": "config" } - } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/prowlarr/config)" - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 2048)" - } - } - } -} diff --git a/docs/public/install-scripts/qbittorrent.json b/docs/public/install-scripts/qbittorrent.json deleted file mode 100644 index b54b1d2c..00000000 --- a/docs/public/install-scripts/qbittorrent.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": ["ApplicationsPerformance", "ApplicationsCapacity", "Downloads"], - "specifications": ["2CORE", "200MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [8080, 6881] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)/qbittorrent" - }, - { - "path": "$LOCATION(ApplicationsPerformance)/qbittorrent/config", - "snapshot": { "id": "config" } - } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/qbittorrent/config)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Downloads)/qbittorrent, /config/Downloads)" - ] - } - } -} diff --git a/docs/public/install-scripts/qui.json b/docs/public/install-scripts/qui.json deleted file mode 100644 index e6c795fd..00000000 --- a/docs/public/install-scripts/qui.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "Initial Script" - }, - "requirements": { - "locations": [ - "ApplicationsPerformance" - ], - "specifications": [ - "2CORE", - "256MB" - ], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [30318] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/qui/config", "snapshot": { "id": "config" } } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/qui/config)" - } - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30318 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(5%, 1024)" - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/radarr.json b/docs/public/install-scripts/radarr.json deleted file mode 100644 index 6fc787ca..00000000 --- a/docs/public/install-scripts/radarr.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": ["ApplicationsPerformance", "ApplicationsCapacity", "Downloads", "Movies"], - "specifications": ["2CORE", "200MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [7878] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)", - "network_share": true - }, - { - "path": "$LOCATION(Movies)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)/qbittorrent" - }, - { - "path": "$LOCATION(ApplicationsPerformance)/radarr/config", - "snapshot": { "id": "config" } - } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/radarr/config)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Downloads)/qbittorrent, /config/Downloads)", - "$MOUNTED_HOST_PATH($LOCATION(Movies), /movies)" - ] - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 2048)" - } - } - } -} diff --git a/docs/public/install-scripts/scrutiny.json b/docs/public/install-scripts/scrutiny.json deleted file mode 100644 index 24454892..00000000 --- a/docs/public/install-scripts/scrutiny.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": [ - "ApplicationsPerformance" - ], - "specifications": [ - "2CORE", - "1024MB" - ], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [31054, 31055] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/scrutiny/config", "snapshot": { "id": "config" } }, - { "path": "$LOCATION(ApplicationsPerformance)/scrutiny/influxdb", "snapshot": { "id": "influxdb" } } - ], - "app_values": { - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 31054 - }, - "influxdb_port": { - "bind_mode": "published", - "port_number": 31055 - }, - "host_network": false - }, - "storage": { - "config": { - "type": "host_path", - "host_path_config": { - "acl_enable": false, - "path": "$LOCATION(ApplicationsPerformance)/scrutiny/config" - } - }, - "influxdb": { - "type": "host_path", - "host_path_config": { - "acl_enable": false, - "path": "$LOCATION(ApplicationsPerformance)/scrutiny/influxdb" - } - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": 2048 - } - } - } -} diff --git a/docs/public/install-scripts/seerr.json b/docs/public/install-scripts/seerr.json deleted file mode 100644 index a8a82a8c..00000000 --- a/docs/public/install-scripts/seerr.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.0.0", - "changeLog": "Initial Script" - }, - "requirements": { - "locations": [ - "ApplicationsPerformance" - ], - "specifications": [ - "2CORE", - "1024MB" - ], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [30357] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/seerr/config", "owner": { "user": "apps" }, "snapshot": { "id": "config" } } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/seerr/config)" - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 30357 - } - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 2048)" - } - } - } -} \ No newline at end of file diff --git a/docs/public/install-scripts/sonarr.json b/docs/public/install-scripts/sonarr.json deleted file mode 100644 index 1d32126a..00000000 --- a/docs/public/install-scripts/sonarr.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": ["ApplicationsPerformance", "ApplicationsCapacity", "Downloads", "Shows"], - "specifications": ["2CORE", "200MB"], - "permissions": ["READ_WRITE_LOCATIONS"], - "ports": [8989] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)", - "network_share": true - }, - { - "path": "$LOCATION(Shows)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)/qbittorrent" - }, - { - "path": "$LOCATION(ApplicationsPerformance)/sonarr/config", - "snapshot": { "id": "config" } - } - ], - "app_values": { - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/sonarr/config)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Downloads)/qbittorrent, /config/Downloads)", - "$MOUNTED_HOST_PATH($LOCATION(Shows), /shows)" - ] - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 2048)" - } - } - } -} diff --git a/docs/public/install-scripts/syncthing.json b/docs/public/install-scripts/syncthing.json deleted file mode 100644 index f9560c89..00000000 --- a/docs/public/install-scripts/syncthing.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "version": 4, - "script": { - "version": "1.1.0", - "changeLog": "Upgraded to V4 install script format" - }, - "requirements": { - "locations": [ - "ApplicationsPerformance", - "ApplicationsCapacity", - "Documents", - "Downloads", - "Photos", - "Music", - "Videos", - "Media", - "Movies", - "Shows" - ], - "specifications": [ - "2CORE", - "512MB" - ], - "permissions": [ - "READ_WRITE_LOCATIONS" - ], - "ports": [20910, 20978, 20970] - }, - "ensure_directories_exists": [ - { - "path": "$LOCATION(ApplicationsPerformance)", - "network_share": true - }, - { - "path": "$LOCATION(ApplicationsCapacity)", - "network_share": true - }, - { - "path": "$LOCATION(Documents)", - "network_share": true - }, - { - "path": "$LOCATION(Downloads)", - "network_share": true - }, - { - "path": "$LOCATION(Photos)", - "network_share": true - }, - { - "path": "$LOCATION(Videos)", - "network_share": true - }, - { - "path": "$LOCATION(Music)", - "network_share": true - }, - { - "path": "$LOCATION(Media)", - "network_share": true - }, - { - "path": "$LOCATION(Movies)", - "network_share": true - }, - { - "path": "$LOCATION(Shows)", - "network_share": true - }, - { "path": "$LOCATION(ApplicationsPerformance)/syncthing/config", "snapshot": { "id": "config" } } - ], - "app_values": { - "run_as": { - "user": 568, - "group": 568 - }, - "storage": { - "config": "$HOST_PATH($LOCATION(ApplicationsPerformance)/syncthing/config)", - "additional_storage": [ - "$MOUNTED_HOST_PATH($LOCATION(Documents), /sync/Documents)", - "$MOUNTED_HOST_PATH($LOCATION(Downloads), /sync/Downloads)", - "$MOUNTED_HOST_PATH($LOCATION(Photos), /sync/Photos)", - "$MOUNTED_HOST_PATH($LOCATION(Videos), /sync/Videos)", - "$MOUNTED_HOST_PATH($LOCATION(Music), /sync/Music)", - "$MOUNTED_HOST_PATH($LOCATION(Photos), /sync/Media)", - "$MOUNTED_HOST_PATH($LOCATION(Videos), /sync/Movies)", - "$MOUNTED_HOST_PATH($LOCATION(Music), /sync/Shows)" - ] - }, - "network": { - "web_port": { - "bind_mode": "published", - "port_number": 20910 - }, - "tcp_port": { - "bind_mode": "published", - "port_number": 20978 - }, - "udp_port": { - "bind_mode": "published", - "port_number": 20970 - }, - "host_network": false - }, - "resources": { - "limits": { - "cpus": 2, - "memory": "$MEMORY(10%, 2048)" - } - } - } -} diff --git a/scripts/generateCuratedIndex.mjs b/scripts/generateCuratedIndex.mjs deleted file mode 100644 index 5924f532..00000000 --- a/scripts/generateCuratedIndex.mjs +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/env node -import fs from 'fs' -import path from 'path' -import { fileURLToPath } from 'url' -import { execSync } from 'child_process' - -const __dirname = path.dirname(fileURLToPath(import.meta.url)) -const DOCS_DIR = process.env.DOCS_DIR || 'docs' - -const CATALOG_DIR = process.env.CATALOG_DIR || path.resolve(__dirname, '..', '..', 'hexos-app-catalog') -const APPS_MD = path.resolve(__dirname, '..', DOCS_DIR, 'features/apps/install-scripts/curated', 'index.md') - -const START = '' -const END = '' - -function humanFileSize(bytes) { - const thresh = 1024 - if (Math.abs(bytes) < thresh) return bytes + ' B' - const units = ['KB', 'MB', 'GB', 'TB'] - let u = -1 - do { bytes /= thresh; ++u } while (Math.abs(bytes) >= thresh && u < units.length - 1) - return bytes.toFixed(1) + ' ' + units[u] -} - -function getGitLastModified(filePath) { - try { - const gitCommand = `git log -1 --format=%ci "${filePath}"` - const result = execSync(gitCommand, { - cwd: path.dirname(filePath), - encoding: 'utf8' - }).trim() - - if (result) { - return new Date(result).toISOString().split('T')[0] - } - } catch (error) { - console.warn(`Could not get git date for ${filePath}, falling back to fs date`) - } - - try { - const stat = fs.statSync(filePath) - return new Date(stat.mtime).toISOString().split('T')[0] - } catch (error) { - return 'Unknown' - } -} - -function getScriptVersion(filePath) { - try { - const content = JSON.parse(fs.readFileSync(filePath, 'utf8')) - return content.version || '?' - } catch { - return '?' - } -} - -function hasHooks(filePath) { - try { - const content = JSON.parse(fs.readFileSync(filePath, 'utf8')) - return Array.isArray(content.hooks) && content.hooks.length > 0 - } catch { - return false - } -} - -function isInternalApp(filePath) { - try { - const content = JSON.parse(fs.readFileSync(filePath, 'utf8')) - return content.internal === true - } catch { - return false - } -} - -function buildTable(files) { - const lines = [] - lines.push('| App | Format | Hooks | Size | Last Modified |') - lines.push('|---|---|---|---:|---|') - for (const file of files) { - const p = path.join(CATALOG_DIR, file) - const stat = fs.statSync(p) - const size = humanFileSize(stat.size) - const mtime = getGitLastModified(p) - const app = path.basename(file, '.json') - const version = `V${getScriptVersion(p)}` - const hooks = hasHooks(p) ? 'Yes' : '—' - const href = `https://github.com/eshtek/hexos-app-catalog/blob/main/${file}` - lines.push(`| [\`${app}\`](${href}) | ${version} | ${hooks} | ${size} | ${mtime} |`) - } - return lines.join('\n') -} - -function ensureAppsPage() { - if (!fs.existsSync(APPS_MD)) { - fs.mkdirSync(path.dirname(APPS_MD), { recursive: true }) - const boilerplate = -`# Apps (Curated Scripts) - -Curated install scripts are maintained in the [hexos-app-catalog](https://github.com/eshtek/hexos-app-catalog) repository. - -${START} -_No curated scripts yet._ -${END} -` - fs.writeFileSync(APPS_MD, boilerplate) - } -} - -function updateAppsPage() { - ensureAppsPage() - - if (!fs.existsSync(CATALOG_DIR)) { - console.error(`Catalog directory not found: ${CATALOG_DIR}`) - console.error('Clone hexos-app-catalog as a sibling directory or set CATALOG_DIR env var') - process.exit(1) - } - - let md = fs.readFileSync(APPS_MD, 'utf8') - - if (!md.includes(START) || !md.includes(END)) { - md += `\n\n${START}\n${END}\n` - } - - const files = fs.readdirSync(CATALOG_DIR) - .filter(f => f.endsWith('.json')) - .filter(f => { - const p = path.join(CATALOG_DIR, f) - return !isInternalApp(p) - }) - .sort() - - const content = files.length === 0 - ? '_No curated scripts found — add JSON files to the [hexos-app-catalog](https://github.com/eshtek/hexos-app-catalog) repo._' - : buildTable(files) - - const before = md.slice(0, md.indexOf(START) + START.length) - const after = md.slice(md.indexOf(END)) - const next = `${before}\n${content}\n${after}` - - fs.writeFileSync(APPS_MD, next) - console.log('Wrote', APPS_MD) -} - -updateAppsPage()