Uživatelské nástroje

Nástroje pro tento web


navody:vps:userdata

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
navody:vps:userdata [2025/03/14 20:38] – distribuce aithernavody:vps:userdata [2025/03/22 17:29] (aktuální) aither
Řádek 3: Řádek 3:
 Při vytvoření nebo reinstalaci VPS může vpsAdmin do VPS nahrát skript nebo konfiguraci Při vytvoření nebo reinstalaci VPS může vpsAdmin do VPS nahrát skript nebo konfiguraci
 pro [[https://cloud-init.io/|cloud-init]]. Tento skript nebo konfigurace se aplikuje při prvním pro [[https://cloud-init.io/|cloud-init]]. Tento skript nebo konfigurace se aplikuje při prvním
-spuštění VPS. Podporujeme tři formáty prvotní konfigurace:+spuštění VPS. Podporujeme tyto formáty prvotní konfigurace:
  
   * [[#script|script]]   * [[#script|script]]
   * [[#cloud-init_config|cloud-init config]]   * [[#cloud-init_config|cloud-init config]]
   * [[#cloud-init_script|cloud-init script]]   * [[#cloud-init_script|cloud-init script]]
 +  * [[#nixos_configuration|NixOS konfigurace]]
 +  * [[#nixos_flake_configuration|NixOS flake konfigurace]]
 +  * [[#nixos_flake_uri|NixOS flake URI]]
  
 Skripty a konfigurace je možné si do vpsAdminu uložit a při vytvoření/reinstalaci VPS Skripty a konfigurace je možné si do vpsAdminu uložit a při vytvoření/reinstalaci VPS
Řádek 17: Řádek 20:
 Pro vývoj a testování je možné uloženou konfiguraci nahrát do VPS kdykoliv, Pro vývoj a testování je možné uloženou konfiguraci nahrát do VPS kdykoliv,
 **vpsAdmin** -> **VPS** -> **User data** -> Upravit položku ze seznamu a poté formulář **Deploy to VPS**. **vpsAdmin** -> **VPS** -> **User data** -> Upravit položku ze seznamu a poté formulář **Deploy to VPS**.
 +Tato akce pouze zapíše skript/konfiguraci na disk VPS, k jejímu spuštění dojde až při restartu VPS.
  
 ===== Formáty konfigurace ===== ===== Formáty konfigurace =====
Řádek 76: Řádek 80:
  
 Výstup cloud-init je vidět v kernel logu a je uložen v souboru ''/var/log/cloud-init-output.log''. Výstup cloud-init je vidět v kernel logu a je uložen v souboru ''/var/log/cloud-init-output.log''.
 +
 +==== NixOS configuration ====
 +Vložená konfigurace se uloží do ''/etc/vpsadmin-nixos/configuration.nix''
 +a po startu VPS se provede ''nixos-rebuild switch''. Mějte na paměti, že vložená
 +konfigurace musí importovat ''vpsadminos.nix'', nebo jej rovnou zahrnovat.
 +
 +Příklad konfigurace:
 +
 +<code nix>
 +{ config, pkgs, lib, ... }:
 +{
 +  imports = [
 +    /etc/nixos/vpsadminos.nix
 +  ];
 +
 +  environment.systemPackages = with pkgs; [
 +    vim
 +  ];
 +
 +  services.openssh.enable = true;
 +  services.openssh.settings.PermitRootLogin = "yes";
 +  #users.extraUsers.root.openssh.authorizedKeys.keys =
 +  #  [ "..." ];
 +
 +  systemd.extraConfig = ''
 +    DefaultTimeoutStartSec=900s
 +  '';
 +
 +  time.timeZone = "Europe/Amsterdam";
 +
 +  system.stateVersion = "24.11";
 +}
 +</code>
 +
 +Výstup příkazu ''nixos-rebuild'' je uložen do ''/var/log/vpsadmin-nixos-output.log''.
 +
 +==== NixOS flake configuration ====
 +Konfigurace se uloží do souboru ''/etc/vpsadmin-nixos/flake.nix'' a spustí se příkaz ''nixos-rebuild switch --flake /etc/vpsadmin-nixos#vps''. Konfigurace pro systém ''vps'' musí být součástí vloženého ''flake.nix''.
 +
 +Příklad konfigurace:
 +
 +<code nix>
 +{
 +  inputs = {
 +    nixpkgs.url = github:NixOS/nixpkgs/nixos-24.11;
 +    vpsadminos.url = github:vpsfreecz/vpsadminos/staging;
 +  };
 +  
 +  outputs = { self, nixpkgs, vpsadminos }: {
 +    # Zde musí být konfigurace s názvem "vps"
 +    nixosConfigurations.vps = nixpkgs.lib.nixosSystem {
 +      modules = [
 +        ({ config, pkgs, lib, ... }:
 +        {
 +          imports = [
 +            vpsadminos.nixosConfigurations.container
 +          ];
 +
 +          environment.systemPackages = with pkgs; [
 +            vim
 +          ];
 +
 +          services.openssh.enable = true;
 +          services.openssh.settings.PermitRootLogin = "yes";
 +          #users.extraUsers.root.openssh.authorizedKeys.keys =
 +          #  [ "..." ];
 +
 +          systemd.extraConfig = ''
 +            DefaultTimeoutStartSec=900s
 +          '';
 +
 +          time.timeZone = "Europe/Amsterdam";
 +
 +          nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 +
 +          system.stateVersion = "24.11";
 +        })
 +      ];
 +    };
 +  };
 +}
 +</code>
 +
 +Výstup příkazu ''nixos-rebuild'' je uložen do ''/var/log/vpsadmin-nixos-output.log''.
 +
 +==== NixOS flake URI ====
 +Po startu VPS se spustí příkaz ''nixos-rebuild switch --flake $flake_uri''. Tímto způsobem můžete
 +jednoduše nasadit konfiguraci, kterou máte veřejně k dispozici třeba na GitHubu.
 +
 +Ukázka použití:
 +
 +<code nix>
 +github:vpsfreecz/example-vps-flake#vps
 +</code>
 +
 +Tuto konfiguraci najdete na https://github.com/vpsfreecz/example-vps-flake.
 +
 +Výstup příkazu ''nixos-rebuild'' je uložen do ''/var/log/vpsadmin-nixos-output.log''.
  
 ===== Použítí s vpsfreectl ===== ===== Použítí s vpsfreectl =====
navody/vps/userdata.1741984691.txt.gz · Poslední úprava: 2025/03/14 20:38 autor: aither