Hugo static site with an intentionally minimal single-page copy — English default, German under /de/ — while the project stays pre-alpha. No CMS, no external theme, no webfonts, no external requests. System-UI sans on a paper-white / near-black palette with a deep crimson accent; a small wicket-gate SVG as the sole brand mark. Hosting: nginx on forge-runner-01 serves /var/www/furtka.org; the upstream openresty proxy terminates TLS so the VM itself only speaks plain HTTP. Deploy is ./website/deploy.sh (rsync + remote hugo --minify). One-time VM bootstrap in ops/nginx/setup-vm.sh.
47 lines
3.6 KiB
Markdown
47 lines
3.6 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to Furtka will be documented in this file.
|
||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||
This project uses calendar versioning: `YY.N-stage` (e.g. `26.0-alpha` = 2026, release 0, alpha stage).
|
||
|
||
## [Unreleased]
|
||
|
||
### Changed
|
||
|
||
- **Project name finalized: Furtka.** Working title "Homebase" retired. Domain `furtka.org` registered via Strato 2026-04-13.
|
||
- Managed gateway NS hostnames updated from `ns1.homebase.cloud` / `ns2.homebase.cloud` to `ns1.furtka.org` / `ns2.furtka.org`.
|
||
- Python package renamed from `homebase` → `furtka` in `pyproject.toml`.
|
||
|
||
### Added
|
||
|
||
- **Forgejo Actions runner** live on Proxmox VM (`forge-runner-01`, Ubuntu 24.04) with DinD sidecar — CI green end-to-end. Setup scripts in `ops/forgejo-runner/`.
|
||
- **Walking-skeleton live ISO** (`iso/build.sh`). Overlays an Arch `releng` profile with Flask + the webinstaller, bakes a systemd unit that auto-starts the wizard on boot, produces a hybrid BIOS/UEFI ISO via `mkarchiso` in a privileged `archlinux:latest` container. Tested booting under OVMF in Proxmox — wizard screens 1–3 respond at `http://<vm-ip>:5000`.
|
||
- **Public website at [furtka.org](https://furtka.org)** (`website/`). Hugo static site, English + German, served from `/var/www/furtka.org` on `forge-runner-01` via nginx. Upstream openresty proxy handles TLS. Intentionally minimal single-page copy while the project is pre-alpha. Deploy is `./website/deploy.sh` (rsync + remote Hugo build); one-time VM setup in `ops/nginx/setup-vm.sh`.
|
||
|
||
## [26.0-alpha] - 2026-04-13
|
||
|
||
First tagged snapshot. Pre-alpha — the installer does not yet boot, but the design is locked and the prototype components are shaped.
|
||
|
||
### Added
|
||
|
||
- **Installer webapp prototype** (`webinstaller/`) — Flask app with 3-step wizard (hostname → drive → overview), serves drive list via `drives.py::list_scored_devices()`.
|
||
- **Drive scoring module** (`webinstaller/drives.py`) — scores attached disks by type (NVMe/SSD/HDD), SMART health (`smartctl -H`), and size. Consumed by the installer and usable as a CLI.
|
||
- **Base archinstall configuration** (`archinstall/user_configuration.json`) — systemd-boot, ext4, Docker + Compose preinstalled, server profile, SSH. Credentials template at `archinstall/user_credentials.example.json` (real credentials gitignored).
|
||
- **Installer wireframes** (`docs/installer-wireframes.md`) — Robert's hand-drawn 4-screen UX sketches.
|
||
- **Competitor analysis** (`docs/competitors.md`) — CasaOS, Umbrel, YunoHost reviewed across install flow, hardware detection, app store UX, reverse proxy/SSL, user complaints. Key finding: device-aware wizard + managed gateway are uncontested differentiators.
|
||
- **Wizard flow spec** (`docs/wizard-flow.md`) — 8-screen first-boot flow extending Robert's wireframe with YunoHost-style domain/SSL/diagnostic/confirm screens. Locked tech picks with rejected alternatives.
|
||
- **Project README** — vision, principles, architecture, key decisions, landscape, roadmap.
|
||
|
||
### Decisions locked
|
||
|
||
- **Reverse proxy:** Caddy (auto Let's Encrypt, simplest config)
|
||
- **Identity provider:** Authentik (bundled SSO, every app auto-wired at install)
|
||
- **Managed gateway DNS:** NS delegation to `ns1.furtka.org` / `ns2.furtka.org` (wildcard cert via Let's Encrypt DNS-01)
|
||
- **Local HTTPS:** Local CA installed by user once (no browser warnings on `*.proksi.local`)
|
||
- **Base OS:** Arch (rolling, Debian remains fallback)
|
||
- **Containers:** Docker + Compose
|
||
- **License:** AGPL-3.0
|
||
|
||
[Unreleased]: https://forgejo.sourcegate.online/daniel/furtka/compare/26.0-alpha...HEAD
|
||
[26.0-alpha]: https://forgejo.sourcegate.online/daniel/furtka/releases/tag/26.0-alpha
|