Aller au contenu
Notifications display conteneur
Streaming WebSocket
Historique des notifications
Niveaux d'urgence
Icônes personnalisées
Auto-expiration
Catégorisation
POST /notify
Notifications display conteneur
Streaming WebSocket
Historique des notifications
Niveaux d'urgence
Icônes personnalisées
Auto-expiration
Catégorisation
POST /notify
Notifications display conteneur
Streaming WebSocket
Historique des notifications
Niveaux d'urgence
Icônes personnalisées
Auto-expiration
Catégorisation
POST /notify
Notifications display conteneur
Streaming WebSocket
Historique des notifications
Niveaux d'urgence
Icônes personnalisées
Auto-expiration
Catégorisation
POST /notify
NotificationsHoody Notifications

Notifications desktop via HTTP.

Envoie des notifications desktop Linux à n'importe quel display de conteneur avec un seul HTTP POST. Le Notification Server appelle notify-send sur le display X11 de votre conteneur — déclenche, récupère l'historique ou stream en live.

notify · hoody-n

# Envoie une notification au display 0

curl -X POST "https://abc123-def456-n-1.node-us-1.containers.hoody.com/api/v1/notifications/notify"

-d '{"display":"0","summary":"Build Complete","urgency":"normal"}'

# Réponse

{"success":true}

Comment ça marche

Trois étapes. Un appel HTTP chacune.

Chaque notification suit le même cycle : déclenchez-la, récupérez l'historique ou streamez-la en live, puis ignorez-la quand c'est fini.

01

Déclencher

POST /notify envoie un appel notify-send au display X11 cible. Fournis display, summary et optionnellement urgency, body, expire_time ou icon.

notifications — déclencher

# Fire a notification

curl -X POST .../notify

{"display":"0",

"summary":"Build Complete",

"urgency":"normal"}

 

{"success":true}

02

Diffuser

notify-send transmet l'alerte au daemon de notification du système sur le display X11 cible. Elle apparaît dans toute session de display connectée et expire automatiquement selon son urgence et son expire_time.

notifications — deliver

# notify-send on display :0

notify-send → X11 :0

 

▸ Build Complete

normal · auto-expires

02

Récupérer ou streamer

GET /[display] récupère l'historique des notifications avec filtres optionnels limit, since, username et session. Connecte-vous via WebSocket à /stream?displays=0 pour recevoir les push temps réel.

notifications — récupérer

# Poll history

curl .../0?limit=50

 

# Or stream live

new WebSocket(

"wss://.../stream?displays=0"

)

Niveaux d'urgence

faible. normale. critique.

Trois niveaux d'urgence mappés directement au comportement de notify-send. Choisissez le bon et le daemon de notifications gère le reste.

low

Disparaît rapidement. Mettez expire_time: 3000 pour les tâches d'arrière-plan, la télémétrie ou les pings informatifs qui ne doivent pas interrompre la concentration.

"urgency": "low",

"expire_time": 3000

normal

Standard. Défaut quand urgency est omis. Le daemon de notifications l'affiche selon le timeout configuré et l'ignore automatiquement.

"urgency": "normal"

// défaut — omets pour utiliser ceci

critical

Persistant — nécessite une action manuelle. Mettez expire_time: 0 pour les pannes système, erreurs de build ou tout ce qui demande une action immédiate.

"urgency": "critical",

"expire_time": 0

Canaux

Récupérez l'historique ou streamez en live.

Deux canaux de lecture pour des besoins différents : REST pour les logs d'audit et les requêtes ponctuelles, WebSocket pour les dashboards et le monitoring temps réel.

GETGET /[display]Récupérer
WSWS /streamStreamer

Récupérez l'historique des notifications pour un display. Filtrez par limit, timestamp since, username ou ID de session. À utiliser pour les logs d'audit, requêtes ponctuelles et traitement par batch.

récupérer historique

# récupère les 50 dernières pour le display 0

curl ".../0?limit=50"

# filtré par temps

curl ".../0?since=1749025000000"

Tableau JSON d'objets de notifications avec id, summary, urgency, timestamp et icon_url.

Abonnez-vous à un ou plusieurs displays avec displays=0,:1,2 ou displays=all. Recevez les messages push à mesure qu'ils arrivent. À utiliser pour les dashboards et le monitoring temps réel.

stream live

# ouvre un WebSocket

const ws = new WebSocket(

"wss://.../stream?displays=0"

)

# on message

ws.onmessage = (e) => {

const msg = JSON.parse(e.data)

// msg.summary, msg.body, msg.urgency

}

[ type: "notification", data: [ id, summary, urgency, timestamp ] ] poussé à chaque nouvelle notification.

Cas d'usage

Des pipelines de build aux jobs ML.

Partout où un processus long doit signaler une fin ou une panne, un seul HTTP POST suffit.

Alertes CI/CD

Les builds longs se terminent. Un HTTP POST déclenche une notification sur le display du conteneur — visible dans n'importe quelle session display active.

Monitoring système

Les alertes serveur routent vers une notification desktop sur le display X11 du conteneur, visibles dans n'importe quelle session display active.

Tâches longues

Exports de données, rendu vidéo, entraînement de modèles ML, fin de backup — notifie quand c'est fini sans polling.

Workflows automatisés

Cron jobs, tâches planifiées et scripts d'automatisation notifient le display du conteneur à la fin ou en cas de panne.

RÉFÉRENCE API

8 endpoints. Un Notification Server.

Déclenchez, récupérez, streamez et ignorez des notifications desktop — plus icônes et monitoring de santé — le tout en HTTP brut.

URL de base https://abc123-def456-n-1.node-us-1.containers.hoody.com

Déclencher

1 endpoint

POST .../api/v1/notifications/notify

POST
/api/v1/notifications/notifyDéclencher une nouvelle notification de bureau sur le display cible via notify-send

Récupérer & streamer

2 endpoints

GET .../api/v1/notifications/{display}?limit=50

GET
/api/v1/notifications/{display}Obtenir les notifications d'un ou plusieurs displays spécifiés
WS
/api/v1/notifications/stream?displays=0,1Flux de notifications en temps réel via une connexion WebSocket

Icônes

1 endpoint

GET .../api/v1/notifications/icons/{iconId}

GET
/api/v1/notifications/icons/{iconId}Obtenir l'icône d'une notification par son ID d'icône

Santé & métriques

1 endpoint

GET .../api/v1/notifications/health

GET
/api/v1/notifications/healthContrôle de santé du serveur de notifications

Les notifications sont à un HTTP POST.

N'importe quel script, service ou automatisation capable de faire une requête HTTP peut envoyer une notification desktop à votre display de container.

Lire la doc