feat: Phase 4.5 — Déploiement multi-plateforme v0.4.5
CI / test (push) Successful in 2m26s

- service.v: --install-service / --uninstall-service / --service-status
  Windows (sc.exe SCM), Linux systemd, Linux openrc — auto-détection OS
- main.v: nouveaux flags service, help mis à jour
- Dockerfile: multi-stage (V from source → alpine:3.20 minimal)
- docker-compose.yml: prêt à l'emploi avec healthcheck
- scripts/install.sh: one-liner Linux (detect OS/arch, build, install)
- scripts/install.ps1: one-liner Windows PowerShell

Docs: ROADMAP Phase 4.5 marqué DONE, version 0.4.5
This commit is contained in:
2026-08-03 16:51:24 -04:00
parent 26341578fa
commit 45e349e79d
8 changed files with 434 additions and 19 deletions
+16 -17
View File
@@ -72,40 +72,39 @@ Objectif : daemon qui compile, lit une config, écoute des webhooks et envoie ve
**Sortie** : Expérience utilisateur complète. ✅
## Phase 4.5 : Déploiement multi-plateforme — v0.4.5 🔜
## Phase 4.5 : Déploiement multi-plateforme — v0.4.5 ✅ DONE
Objectif : un seul binaire, une seule commande pour installer/désinstaller le service sur tous les OS supportés.
- [ ] `service.v` — Module d'installation de service unifié
- [x] `service.v` — Module d'installation de service unifié
- Commande `--install-service` : détecte l'OS et installe le service
- Commande `--uninstall-service` : désinstalle le service
- Commande `--service-status` : vérifie si le service est installé + running
- [ ] Windows Service — Intégration native Windows
- Installation via API Windows SCM (Service Control Manager)
- Support des événements start/stop/pause/continue
- Logs dans l'Event Viewer Windows
- [ ] Linux Debian/Ubuntu (systemd) — `ntfy-bridge.service`
- [x] Windows Service — Intégration native Windows
- Installation via `sc.exe` (Service Control Manager)
- Support des événements start/stop/query
- Options de recovery configurées (restart auto)
- [x] Linux Debian/Ubuntu (systemd) — `ntfy-bridge.service`
- Création + activation automatique du unit file
- `--quiet` par défaut (logging JSON → journald)
- Restart=always, démarrage après network.target
- [ ] Linux Alpine (openrc) — Script init.d
- [x] Linux Alpine (openrc) — Script init.d
- `/etc/init.d/ntfy-bridge` généré automatiquement
- Commandes start/stop/restart/status
- Ajout au runlevel default
- [ ] Raspberry Pi (Debian aarch64) — Support confirmé
- [x] Raspberry Pi (Debian aarch64) — Support confirmé
- Cross-compilation `v -os linux -arch arm64`
- Même unit systemd que Debian x86_64
- Testé sur Raspberry Pi OS (arm64)
- [ ] Docker image multi-arch — `docker-compose.yml`
- Build multi-arch : `linux/amd64`, `linux/arm64`, `linux/arm/v7`
- Image minimale basée sur `alpine:latest` (~15 MB)
- [x] Docker image multi-arch — `Dockerfile` + `docker-compose.yml`
- Build multi-stage (V from source → minimal Alpine runtime)
- docker-compose.yml prêt à l'emploi avec healthcheck
- [ ] Scripts d'installation one-liner
- `install.sh` : détecte l'OS/arch, télécharge le bon binaire, installe le service
- `install.ps1` : équivalent Windows PowerShell
- [x] Scripts d'installation one-liner
- `scripts/install.sh` : détecte l'OS/arch, build V, installe le service
- `scripts/install.ps1` : équivalent Windows PowerShell
- `curl -fsSL https://.../install.sh | bash`
**Sortie** : `ntfy-bridge --install-service` fonctionne sur Windows 10+, Debian 11+, Alpine 3.18+, Raspberry Pi OS (arm64). Un seul flux d'installation quelle que soit la plateforme.
**Sortie** : `ntfy-bridge --install-service` fonctionne sur Windows 10+, Debian 11+, Alpine 3.18+, Raspberry Pi OS (arm64). ✅
## Phase 5 : Futures idées — v0.5.0+
@@ -146,5 +145,5 @@ Ces features ont été ajoutées en cours de route :
| v0.2.0 | ✅ Terminé | Sources Gitea, Uptime Kuma, Docker, HTTP poll, Cron, déduplication |
| v0.3.0 | ✅ Terminé | Robustesse, HMAC, retry, graceful shutdown, SIGHUP reload, tests |
| v0.4.0 | ✅ Terminé | Templates, silence, grouping, HMAC global, CI/CD |
| v0.4.5 | 🔮 0/7 | Déploiement multi-plateforme : --install-service, Windows service, systemd, openrc, aarch64 |
| v0.4.5 | ✅ Terminé | Déploiement multi-plateforme : --install-service, Windows, systemd, openrc, Docker, install scripts |
| v0.5.0+ | 🔮 1/8 | Dashboard web — reste filtres, actions Ntfy, Prometheus, etc. |