{
    "schema": "eupdate-package-specification-v1",
    "author": "PB <pavel.bartos.pb@gmail.com>",
    "project_id": "016eff0ebb83789e",
    "software_id": "eweb-server",
    "software": "eWeb",
    "module": null,
    "release_id": "8a5397039a7662e63d820d6e9481aaec",
    "version": "0.8.28",
    "release_date": "2026-09-13",
    "published_at": "2026-09-13T16:38:44+00:00",
    "bytes": 3579843,
    "sha256": "9ff20833a6ef2cbe7452bba5028336073f91d180e08d58563662d1142d285a08",
    "file_count": 682,
    "languages": {
        "Python": {
            "bytes": 1293242,
            "files": 127
        },
        "JavaScript": {
            "bytes": 1210258,
            "files": 26
        },
        "PHP": {
            "bytes": 1091467,
            "files": 47
        },
        "Shell": {
            "bytes": 304210,
            "files": 66
        },
        "CSS": {
            "bytes": 85121,
            "files": 1
        },
        "Java": {
            "bytes": 1918,
            "files": 1
        },
        "Rust": {
            "bytes": 1036,
            "files": 1
        },
        "Go": {
            "bytes": 540,
            "files": 1
        },
        "C#": {
            "bytes": 365,
            "files": 1
        }
    },
    "installation_url": "https://update.estudium.eu/package.php?software_id=eweb-server&version=0.8.28",
    "update_url": "https://update.estudium.eu/package.php?software_id=eweb-server",
    "install_json": {
        "schema": "eweb-install-manifest-v1",
        "schema_version": 1,
        "software": "eWeb",
        "software_id": "eweb-server",
        "version": "0.8.28",
        "package_revision": 1,
        "package_type": "zip",
        "description": {
            "cs": "eWeb: rychlé změny hesel, trvalá fronta zveřejnění domén, opravy Syncthing ACL a nadbytečných skenů, nižší režie databázových statistik a procesní diagnostika.",
            "en": "eWeb: fast password jobs, durable domain publication, Syncthing ACL and repeated-scan fixes, lower database statistics overhead and process diagnostics."
        },
        "compatibility": {
            "os_types": [
                "linux"
            ],
            "distribution_ids": [
                "debian",
                "ubuntu"
            ],
            "os_versions": [
                "12",
                "24.04",
                "26.04"
            ],
            "distributions": [
                {
                    "id": "debian",
                    "name": "Debian",
                    "versions": [
                        "12"
                    ]
                },
                {
                    "id": "ubuntu",
                    "name": "Ubuntu",
                    "versions": [
                        "24.04",
                        "26.04"
                    ]
                }
            ],
            "detection": {
                "file": "/etc/os-release",
                "distribution_field": "ID",
                "version_field": "VERSION_ID"
            },
            "matching": "Match distribution ID and version together using distributions; os_versions is only an aggregate list.",
            "compatibility_basis": "OS combinations allowed by install.sh; this declaration is not a certification of every hardware/deployment combination.",
            "init_system": "systemd",
            "package_manager": "apt",
            "native_windows_supported": false,
            "native_macos_supported": false,
            "any_linux_distribution": false
        },
        "installation": {
            "working_directory": ".",
            "package_directory": "eweb-server-0.8.28",
            "entrypoint": "./eweb-server-0.8.28/install.sh",
            "shell": "bash",
            "requires_root": true,
            "requires_internet": true,
            "interactive": true,
            "languages": [
                "cs",
                "en"
            ],
            "commands": {
                "linux": {
                    "supported": true,
                    "command": "sudo bash ./eweb-server-0.8.28/install.sh",
                    "command_as_root": "bash ./eweb-server-0.8.28/install.sh",
                    "command_from_package_directory": "sudo bash ./install.sh",
                    "mode": "automatic"
                },
                "windows": {
                    "supported": false,
                    "command": null,
                    "reason": {
                        "cs": "Nativní instalace ve Windows není podporována. Instalujte na server s uvedenou podporovanou distribucí Linuxu.",
                        "en": "Native Windows installation is not supported. Install on a server running a listed supported Linux distribution."
                    },
                    "mode": "unsupported"
                },
                "macos": {
                    "command": null,
                    "supported": false,
                    "mode": "unsupported"
                },
                "other": {
                    "command": null,
                    "supported": false,
                    "mode": "unsupported"
                },
                "source": {
                    "command": null,
                    "supported": false,
                    "mode": "unsupported"
                }
            },
            "extraction_required": true,
            "extract_entire_archive": true,
            "recommended_resources": {
                "cpu_cores": 2,
                "ram_mib": 2048,
                "free_disk_gib": 10,
                "note": "Installer preflight recommendations; hosted data and log retention need additional capacity."
            },
            "reboot": "No unconditional reboot is requested by install.sh; OS package updates may independently require one.",
            "web_root": "."
        },
        "upgrade": {
            "supported": true,
            "command": "sudo bash ./eweb-server-0.8.28/install.sh",
            "working_directory": ".",
            "documentation": "eweb-server-0.8.28/UPGRADE-0.8.28.md",
            "cluster_order": "one_node_at_a_time",
            "automatic": {
                "supported": true,
                "command": "sudo eweb-release apply",
                "check_command": "sudo eweb-release check",
                "interval_seconds": 3600,
                "protocol": 1
            },
            "gui": {
                "path": "/?page=updates",
                "module_installation": true,
                "individual_modules": true
            },
            "database_wait_seconds": 300
        },
        "installed_paths": {
            "application": "/opt/eweb",
            "version_file": "/opt/eweb/VERSION",
            "configuration": "/etc/eweb",
            "logs": "/var/log/eweb",
            "websites": "/var/www",
            "backups": "/var/www/backup",
            "release_date_file": "/opt/eweb/RELEASE_DATE",
            "installation_history": "/var/lib/eweb/installation.json"
        },
        "dependencies": {
            "required_packages_file": "eweb-server-0.8.28/packages.txt",
            "optional_packages_file": "eweb-server-0.8.28/packages-optional.txt",
            "hosting_packages_helper": "eweb-server-0.8.28/bin/eweb-hosting-packages.sh"
        },
        "documentation": {
            "readme": "eweb-server-0.8.28/README.md",
            "changelog": "eweb-server-0.8.28/CHANGELOG-0.8.28.md",
            "validation": "eweb-server-0.8.28/VALIDATION-0.8.28.md",
            "audit": "eweb-server-0.8.28/AUDIT-0.8.28.md",
            "manual_cs": "eweb-server-0.8.28/docs/MANUAL-CS.md",
            "manual_en": "eweb-server-0.8.28/docs/MANUAL-EN.md"
        },
        "integrity": {
            "algorithm": "sha256",
            "installer_sha256": "e5f70ce2cb05b93218a8c6413239014fc778c1c442c807c0b2a42d80b7a61ca1",
            "payload_checksums_file": "eweb-server-0.8.28/SHA256SUMS",
            "payload_checksums_base_directory": "eweb-server-0.8.28",
            "payload_checksums_sha256": "1614b3787abd2761dc5df05554f2846289304b88b9712986ae2e751bab8cdedf",
            "note": "Payload checksums cover files inside the package directory. This root manifest is outside that inventory. Hashes verify consistency, not publisher authenticity."
        },
        "release_date": "2026-09-13",
        "homepage": "https://www.estudium.eu",
        "author": {
            "name": "PB",
            "email": "pavel.bartos.pb@gmail.com",
            "website": "https://www.estudium.eu"
        },
        "project": {
            "name": "eWeb",
            "website": "https://www.estudium.eu",
            "updates_url": "https://update.estudium.eu/project.php?software_id=eweb-server"
        },
        "archive_metadata": {
            "working_directory": ".",
            "publisher": "dcf6d41fbcdf0e16",
            "updated_at": "2026-09-13T16:38:44+00:00",
            "application_author": "PB <pavel.bartos.pb@gmail.com>"
        },
        "package": {
            "type": "release",
            "visibility": "public",
            "modules_included": false,
            "target": "software"
        },
        "modules": {
            "distribution": "separate",
            "automatic_requires_license": true,
            "module_ids": [
                "cluster",
                "ips",
                "loganalyzer",
                "serverdiag",
                "snapshots",
                "staging"
            ],
            "free_module_initial_installation": "manual",
            "free_installed_module_updates": true,
            "access_source": "current-eupdate-catalog-and-checkin",
            "package_os_types": [
                "source"
            ]
        },
        "requirements": [],
        "license": "MIT",
        "license_custom": ""
    },
    "readme": "# eWeb 0.8.28 — komplet\n\nOpravy podle diagnostiky eweb01.estudium.eu z 13. 9. 2026: zařazování změn hesla, zveřejnění změn v clusteru, opakované skeny Syncthingu, oprávnění nových souborů eLoaderu a zbytečně častý sběr databázových statistik.\n\nPo rozbalení kompletu spusťte ve stejné složce:\n\n```bash\nsudo bash aktualizovat.sh\n```\n\nSkript ověří SHA-256 a použije aktualizátor dodaný v tomto balíčku. Zachovává domény, databáze a nainstalované moduly. Samotná aktualizace hesla nemění; nové heslo u domény zadejte po aktualizaci a vyčkejte na dokončení její úlohy. Pokud již předchozí úloha heslo změnila, použijte toto nové heslo. Uzly clusteru aktualizujte postupně, nejdříve eweb01. Heslo domény upravujte na jejím autoritativním uzlu.\n\n- Úprava domény se rychle zařadí přes `systemd-run --no-block` a získá vlastní identifikátor. Místní uložení a ověření už nečeká na sestavení katalogu clusteru; trvalá fronta zveřejnění opakuje při chybě.\n- Heslo se aktualizuje i u již existujících loopback účtů MariaDB `127.0.0.1` a `::1`. Kontrola ověřuje socket, TCP přes `127.0.0.1` a přístup k databázi domény. Nevytvářejí se nové vzdálené účty.\n- Syncthing nepovažuje výchozí doplněná pole REST konfigurace za změnu topologie. Oprava konkrétních hlášených ACL chyb běží samostatně každou minutu, bez čekání na dlouhý cyklus clusteru. Zachovává účinná oprávnění ostatních uživatelů a skupin a nesleduje symlinky mimo opravovaný strom.\n- Databázové statistiky se sbírají po pěti minutách; kontrola změněných přihlašovacích údajů zůstává každou minutu a explicitní změna hesla je aplikuje ihned ve své úloze. Čas aktualizace statistik zůstává v reportu.\n- Diagnostika pořizuje vzorek procesů z `/proc` hned na začátku. Obsahuje CPU změny a cgroups bez argumentů procesů, přehled restartů Syncthingu a nevyřízená zveřejnění domén.\n\nPodrobnosti: `AUDIT-0.8.28.md`, `VALIDATION-0.8.28.md`, `UPGRADE-0.8.28.md`. Lokálně prošlo 96 regresních testů a syntaxe 47 PHP, 147 Python a 100 Bash souborů. Přesný hlavní spotřebitel CPU nebyl v dodané diagnostice zachycen; oprava řeší nalezenou nadbytečnou práci eWebu, úplné odstranění zátěže musí potvrdit nový provozní vzorek. Produkční server nebyl z tohoto prostředí upraven.\n\nZůstávají všechny funkce 0.8.27 a předchozích oprav: potvrzení instalace/přeinstalace s varováním a reportem, instalační projektové odkazy eUpdate, About eWeb v Help, překlady a mazání logů v diagnostice. Moduly jsou dodané beze změny, včetně Clusteru 1.8.5.\n\nDo eUpdate patří vnitřní `eweb-server-0.8.28.zip`; kompletní ZIP obsahuje navíc moduly, ukázku a aktualizační skript. Vnitřní ZIP pro novou instalaci obsahuje `eweb-server-0.8.28/install.sh`. Pro existující instalaci používejte výše uvedený aktualizační skript.\n\nAutor: Pavel Bartoš (PB), pavel.bartos.pb@gmail.com. [Projekt](https://www.estudium.eu), [vydání a stažení](https://update.estudium.eu/project.php?software_id=eweb-server).",
    "download_url": "https://update.estudium.eu/download.php?project=016eff0ebb83789e&release=8a5397039a7662e63d820d6e9481aaec",
    "package_target": "software",
    "requirements": [],
    "license": {
        "id": "MIT",
        "name": "MIT",
        "custom_text": ""
    },
    "deployment": {
        "archive_root": ".",
        "web_root": "."
    },
    "project_type": "application",
    "hosting": null
}