Premiers pas
NixOS
Lancer Statup comme service NixOS depuis le flake de son dépôt.
Le dépôt contient un flake avec un paquet et un module NixOS, proposé par la communauté et vérifié par le projet à chaque changement : les contrôles construisent Statup avec Nix, démarrent une machine NixOS avec le service et lancent les commandes de cette page. Docker reste la voie principale pour installer Statup.
Ajouter le flake
Dans le flake.nix de votre système, ajoutez Statup en entrée et son module à votre machine :
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
statup = {
url = "github:karl-cta/statup";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, statup, ... }: {
nixosConfigurations.server = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
statup.nixosModules.default
./configuration.nix
];
};
};
}
Statup est construit avec le Rust et le Tailwind CSS de votre nixpkgs : il lui faut Rust 1.88 ou plus récent.
Activer le service
services.statup = {
enable = true;
openFirewall = true;
settings = {
PUBLIC_URL = "https://status.example.com";
TZ = "Europe/Dublin";
};
environmentFile = "/run/secrets/statup.env";
};
Lancez ensuite sudo nixos-rebuild switch. Statup répond sur le port 3000 et guide le premier lancement.
enable
- Par défaut
false- Valeurs
true,false
Lance Statup comme service système statup, sous l’utilisateur statup.
settings
- Par défaut
{ }, avecHOSTà"0.0.0.0"etPORTà3000- Valeurs
- les réglages de Statup, en chaînes, nombres ou booléens
Transmis à Statup en variables d’environnement. Le module règle lui-même DATABASE_URL et UPLOAD_DIR : voir Données.
environmentFile
- Par défaut
null- Valeurs
- le chemin d’un fichier de lignes
NOM=valeur
Lu par systemd au démarrage du service, hors du store Nix : la place de SMTP_PASSWORD, de ADMIN_PASSWORD et des autres secrets. Un réglage de ce fichier l’emporte sur le même dans settings.
openFirewall
- Par défaut
false- Valeurs
true,false
Ouvre PORT dans le pare-feu. Laissez-le fermé derrière un reverse proxy sur la même machine.
package
- Par défaut
- le paquet du flake
- Valeurs
- un paquet
Le Statup que lance le service.
Données
La base de données et les fichiers envoyés vivent dans /var/lib/statup, qui appartient à l’utilisateur statup. Pour sauvegarder, arrêtez le service avec sudo systemctl stop statup, copiez statup.db, statup.db-wal, statup.db-shm et uploads/, puis relancez-le.
Mettre à jour
Sauvegardez d’abord, puis mettez l’entrée à jour et reconstruisez :
nix flake update statup
sudo nixos-rebuild switch
La base de données est migrée au démarrage de la nouvelle version. Pour rester sur une version, pointez l’entrée sur son étiquette, comme github:karl-cta/statup/v0.7.1.
Réinitialiser un mot de passe
sudo -u statup env DATABASE_URL=/var/lib/statup/statup.db statup reset-password [email protected]
La page Ligne de commande dit ce qu’elle fait.
Logs
journalctl -u statup les lit. LOG_LEVEL règle leur niveau de détail.