eCloud
eCloud: eNAS, eMedia a eVirtual. NAS Btrfs/SMB/NFS, mediální knihovna a KVM/QEMU.
Documentation and check-in manual
Releases
README
# eCloud 0.1.0
**eNAS / eMedia / eVirtual** — vlastní server pro soubory, video, audio a virtuální stroje.
Autor **PB** · pavel.bartos.pb@gmail.com · https://estudium.eu · **MIT** · Datum tvorby **10/2026**.
Primární instalační cíl: **Ubuntu Server 26.04 LTS, amd64, systemd**. Webové rozhraní je česky. První vydání má skutečný backend, ne ukázková data; jeho nasazení na fyzickém Ubuntu 26.04 a reálné pole je ještě nutné ověřit podle `docs/VALIDATION.md`.
## Instalace
Rozbalte **celý** archiv. V jeho kořeni je `install.json` pro eUpdate a složka programu.
```bash
cd ecloud-server-0.1.0
bash install.sh --validate-package
sudo bash install.sh
```
Instalátor nabízí textového průvodce (whiptail, pokud je dostupný; jinak terminálové otázky), nainstaluje balíčky, vytvoří účet administrátora a spustí služby. Nastavíte DNS jméno/IP, HTTPS port (výchozí **8443**) a datový adresář. Heslo nemá výchozí hodnotu a musí mít nejméně 12 znaků. Instalátor neformátuje fyzické disky. Podrobný postup a provozní podmínky: [český manuál](docs/MANUAL-CS.md).
Web: `https://jmeno-serveru:8443`. První certifikát je self-signed; nahraďte ho důvěryhodným certifikátem podle manuálu. Síťový firewall se nemění.
## Moduly
| Modul | Implementované funkce |
|---|---|
| **eNAS** | Inventář disků, Btrfs RAID0/RAID1/RAID10, vytvoření svazku, přidání, řízené odebrání a výměna disku, změna profilu, balance, scrub, SMB/NFS, NAS účty, soubory a upload/download. |
| **eMedia** | Upload videa/audia, FFprobe/FFmpeg, MP4 H.264/AAC a M4A pro web, náhledy, přehrávač s Range, hledání, playlisty, soukromá/veřejná média a odkaz s tokenem, RTMP vstup a HLS přehrávání živého kanálu. |
| **eVirtual** | KVM/QEMU přes libvirt, vytvoření a řízení VM, BIOS/UEFI, ISO, grafická noVNC konzole, QCOW2/RAW/VDI/VMDK, import do QCOW2, export, zvětšení vypnutého disku, offline snapshoty podle možností libvirt. |
| **Společné** | Přihlášení, role admin/viewer, CSRF, audit, fronta úloh, živý root Bash v xterm.js, vzhled navazující na eWeb, modulový přepínač a kontextové levé menu. |
**eVirtual je KVM/QEMU hypervizor.** VMDK poskytuje přenos disků s VMware; eCloud neobsahuje ESXi ani správu vCenter. Import/export není migrace celého stroje OVF/OVA. Firmware a ovladače hostovaného systému musí odpovídat cílovému hypervizoru.
## Aktualizace a eUpdate
Z nového kompletně rozbaleného balíčku spusťte `sudo bash install.sh --update`. Instalační manifest přebírá strukturu polí z dodaného eWeb 0.8.43: kořenový `install.json`, `software_id`, kompatibilita, `installation.commands`, checksumy a relativní vstupní skript. Tento ZIP je připraven k importu jako projekt **ecloud-server**; živý import do konkrétní instalace eUpdate nebyl proveden.
Databáze a konfigurace se ukládají mimo program; instalátor při aktualizaci zálohuje konfiguraci/databázi a ponechá předchozí programový adresář. Neprobíhá automatické stažení neověřeného vzdáleného kódu. Kontrolní součty detekují poškození souborů; nejsou digitálním podpisem vydavatele.
## Údržba
```bash
sudo systemctl status ecloud
sudo journalctl -u ecloud -f
sudo ecloud-admin passwd admin
```
Před instalací lze použít `bash install.sh --check` pro kontrolu cílového systému bez změn.
## Vývoj a testy
```bash
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt pytest httpx
export ECLOUD_DEV=1
export ECLOUD_STATE="$PWD/.dev-state"
export ECLOUD_CONFIG="$PWD/.dev-config.json"
.venv/bin/python -c 'from ecloud.core import init; init()'
.venv/bin/python -m ecloud.cli passwd admin
.venv/bin/uvicorn ecloud.app:app --host 127.0.0.1 --port 8765
```
Vývojový režim vypíná privilegované operace hostitele a secure příznak cookie pro lokální HTTP. Nepoužívejte jej jako produkční konfiguraci. Backendové testy: `PYTHONPATH=. .venv/bin/python -m pytest -q tests`.
[English guide](docs/MANUAL-EN.md) · [Architektura a API](docs/ARCHITECTURE.md) · [Rozsah ověření](docs/VALIDATION.md) · [Licence komponent](THIRD_PARTY_NOTICES.md).