{
    "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": "d014966c9df6ab3bebfbbd70cf9c88bb",
    "version": "0.7.36",
    "release_date": "2026-09-07",
    "published_at": "2026-09-08T08:49:41+00:00",
    "bytes": 1572209,
    "sha256": "8ab2666d162ad3382a9b9725da9215af6afa435ec8a3493e8345fd13276accbd",
    "file_count": 413,
    "languages": {
        "JavaScript": {
            "bytes": 1214155,
            "files": 15
        },
        "PHP": {
            "bytes": 531468,
            "files": 28
        },
        "Python": {
            "bytes": 504378,
            "files": 42
        },
        "Shell": {
            "bytes": 297892,
            "files": 66
        },
        "CSS": {
            "bytes": 86459,
            "files": 2
        },
        "HTML": {
            "bytes": 10530,
            "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.7.36",
    "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.7.36",
        "package_revision": 1,
        "package_type": "zip",
        "description": {
            "cs": "Správa webhostingu: domény, SSL, databáze, cluster, synchronizace souborů, zálohy, bezpečnost a analýza logů.",
            "en": "Web hosting management: domains, SSL, databases, clustering, file synchronization, backups, security and log analysis."
        },
        "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.7.36",
            "entrypoint": "./eweb-server-0.7.36/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.7.36/install.sh",
                    "command_as_root": "bash ./eweb-server-0.7.36/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."
        },
        "upgrade": {
            "supported": true,
            "command": "sudo bash ./eweb-server-0.7.36/install.sh",
            "working_directory": ".",
            "documentation": "eweb-server-0.7.36/UPGRADE-0.7.36.md",
            "cluster_order": "one_node_at_a_time"
        },
        "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.7.36/packages.txt",
            "optional_packages_file": "eweb-server-0.7.36/packages-optional.txt",
            "hosting_packages_helper": "eweb-server-0.7.36/bin/eweb-hosting-packages.sh"
        },
        "documentation": {
            "readme": "eweb-server-0.7.36/README.md",
            "changelog": "eweb-server-0.7.36/CHANGELOG-0.7.36.md",
            "validation": "eweb-server-0.7.36/VALIDATION_0.7.36.txt"
        },
        "integrity": {
            "algorithm": "sha256",
            "installer_sha256": "c4a04d9aa87cf3beca0439c42430ce346624fbb2a5c323a570b022a3bb9a8ee5",
            "payload_checksums_file": "eweb-server-0.7.36/SHA256SUMS",
            "payload_checksums_base_directory": "eweb-server-0.7.36",
            "payload_checksums_sha256": "cf5fee9be7860210e1828e259482e9f5baf788653fae2c1bd6516a8faa27af33",
            "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-07",
        "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-08T08:49:41+00:00",
            "application_author": "PB <pavel.bartos.pb@gmail.com>"
        },
        "license": "MIT",
        "license_custom": ""
    },
    "readme": "# eWeb Server 0.7.36\n\nVerze 0.7.36 sjednocuje ukládání plánu záloh s editací domény, odstraňuje synchronní kontrolu celého clusteru z editace, ověřuje změnu přístupového hesla a opravuje staré SFTP bind mounty po obnově zálohy. Mazání i obnova registrace běží jako úlohy na pozadí. Před smazáním domény v clusteru aktualizujte všechny jeho členy na 0.7.36; nová verze přenáší trvalý záznam smazání.\n\n\neWeb 0.7.34 doplňuje datum vydání a pracovní adresář instalátoru v kořenovém install.json. Check-in obsahuje seznam domén a doložená data první instalace a poslední úspěšné změny verze. Podrobnosti a jediný nový volitelný údaj pro přijímač jsou v [docs/CHECKIN.md](docs/CHECKIN.md).\n\neWeb 0.7.33 opravuje opakované restartování již spárovaných složek Syncthingu. Dokončená replika zůstává v režimu sendreceive i při dalších změnách souborů. Opětovné párování nadále používá novou členskou generaci, bezpečný přípravný adresář a potvrzení zdroje. Přehled nezakrývá čekající soubory stavem 100 % a Diag → Syncthing obsahuje podrobnější důkazy o přenosu.\n\neWeb 0.7.32 opravuje zastavení instalace na Ubuntu 26.04 kvůli chybějícímu instalačnímu kandidátovi `dnsutils`. Instalátor zajistí funkční `dig` pomocí dostupného poskytovatele, přednostně `bind9-dnsutils`. Clusterové služby pozastavuje až po dokončení instalace závislostí, těsně před výměnou souborů eWebu.\n\neWeb 0.7.31 doplňuje schvalovaný UDP syslog na portu 514, GrafJS grafy, správu zdrojů a retence, hlubší diagnostické nálezy, zálohy a obnovu logů. Záloha nastavení serveru obsahuje i nastavení analyzátoru bez logů. Příjem, SNMP a forwarding jsou dostupné v Diag. Cluster má potvrzené dokončení progressu a tlačítko Renew IP s denním timerem.\n\nPodrobnosti: [změny](CHANGELOG-0.7.36.md), [aktualizace](UPGRADE-0.7.36.md), [Log analyzátor](docs/LOG-ANALYZER-0.7.31.md), [ověření a jeho hranice](VALIDATION_0.7.36.txt).\n\n## Instalace / aktualizace\n\nV rozbaleném adresáři na cílovém serveru:\n\n```bash\nsudo bash install.sh\n```\n\nPřed aktualizací existujícího clusteru postupujte podle [UPGRADE-0.7.36.md](UPGRADE-0.7.36.md). Instalátor a testy v tomto archivu nebyly spouštěny proti vašim serverům. V kořeni ZIPu je `install.json` s verzí, instalačním příkazem, podporovanými OS a kontrolními součty.\n\n## Zachované funkce\n\n- MariaDB GTID master-master ring bez pevného limitu čtyř serverů; Syncthing pro obsah domén.\n- Párování zahájené na aktivním followeru předává požadavek controlleru. Konfliktní data vyžadují potvrzení autoritativní kopie.\n- Lokální odpárování funguje i při nedostupném protějšku; oznámení odebrání zůstává v trvalé frontě.\n- Automatický Let's Encrypt → ZeroSSL fallback pro administraci i domény, včetně automatického získání EAB pomocí již nastaveného kontaktního e-mailu. Správce nemusí předem zakládat účet ani vyplňovat EAB. Dostupnost a pravidla externí CA tím eWeb neovlivní.\n- CZ/EN GUI, týdenní grafy, zálohy, staging, snapshoty a diagnostika.\n\n## DNS a NAT\n\nVýchozí databázový endpoint je hostname z URL člena. Změna A/AAAA při zachování hostname a členské identity mění trasu; nemění generaci párování a sama nespouští přepis databáze. Kontrola trasy při reconciliaci zahrnuje DNS odpovědi, port, účet a TLS. Staré automatické záznamy eWeb v `/etc/hosts` se odstraní.\n\nZa NATem musí hostname a příslušný port zpřístupnit správný server. Bez hairpin NAT použijte lokální DNS odpověď pro stejné jméno; při překladu i čísla portu musí být zvolený endpoint/port dosažitelný ze všech příslušných uzlů, například přes VPN. Samotné DNS nevytvoří chybějící příchozí spojení. Podrobnosti v [docs/CLUSTER.md](docs/CLUSTER.md).\n\n## Databázový provoz\n\nKaždý člen má vlastní automatickou TLS identitu; prvotní dump i replikace ověřují certifikát protějšku. Ve stabilní synchronizované topologii mohou zapisovat všechny mastery. Změny stejného řádku na více serverech musí stále koordinovat aplikace: nativní asynchronní master-master replikace není řešením konfliktů aplikačních zápisů.\n\n```bash\nsudo eweb-cluster-db status\nsudo eweb-cluster-db tls-probe\nsudo eweb-diag gtid\nsudo eweb-diag ssl\n```",
    "download_url": "https://update.estudium.eu/download.php?project=016eff0ebb83789e&release=d014966c9df6ab3bebfbbd70cf9c88bb",
    "package_target": "software",
    "requirements": [],
    "license": {
        "id": "MIT",
        "name": "MIT",
        "custom_text": ""
    },
    "deployment": {
        "archive_root": ".",
        "web_root": "."
    },
    "project_type": "application",
    "hosting": null
}