Statup
Langue, Français
GitHub
Premiers pas / NixOS

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 :

Nix
{
  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

Nix
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
{ }, avec HOST à "0.0.0.0" et PORT à 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 :

Shell
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

Shell
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.