original config
This commit is contained in:
parent
88125a654c
commit
569b186edf
2 changed files with 268 additions and 86 deletions
|
|
@ -1,60 +1,280 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
#services.openssh.enable = true;
|
||||
imports = [
|
||||
"${modulesPath}/virtualisation/proxmox-lxc.nix"
|
||||
|
||||
<nixpkgs/nixos/modules/virtualisation/proxmox-lxc.nix>
|
||||
|
||||
];
|
||||
|
||||
|
||||
############################
|
||||
#### NixOS
|
||||
############################
|
||||
|
||||
system.stateVersion = "22.11";
|
||||
|
||||
networking = {
|
||||
hostName = "pro";
|
||||
domain = "htw.stura-dresden.de";
|
||||
firewall.allowedTCPPorts = [
|
||||
80
|
||||
443
|
||||
];
|
||||
};
|
||||
system.autoUpgrade.enable = true;
|
||||
system.autoUpgrade.allowReboot = true;
|
||||
# system.autoUpgrade.channel = https://nixos.org/channels/nixos-22.11;
|
||||
nix.settings.auto-optimise-store = true;
|
||||
nix.optimise.automatic = true;
|
||||
nix.gc.automatic = true;
|
||||
# nix.gc.options = "--delete-older-than 5d";
|
||||
nix.gc.options = "--delete-older-than 42d";
|
||||
|
||||
services = {
|
||||
redmine = {
|
||||
enable = true;
|
||||
components.imagemagick = true;
|
||||
components.minimagick_font_path = "${pkgs.liberation_ttf.outPath}/share/fonts/truetype/LiberationSans-Regular.ttf";
|
||||
components.ghostscript = true;
|
||||
settings.production.email_delivery = {
|
||||
|
||||
############################
|
||||
#### Umgebung
|
||||
############################
|
||||
|
||||
# environment.noXlibs = true;
|
||||
services.xserver.enable = false;
|
||||
|
||||
services.openssh.enable = true;
|
||||
|
||||
|
||||
############################
|
||||
#### Netzwerk
|
||||
############################
|
||||
|
||||
networking.enableIPv6 = false;
|
||||
|
||||
|
||||
############################
|
||||
#### System
|
||||
############################
|
||||
|
||||
proxmoxLXC.manageHostName = true;
|
||||
networking.hostName = "pro";
|
||||
networking.domain = "stura.htw-dresden.de";
|
||||
|
||||
# time.timeZone = "Europe/Berlin";
|
||||
|
||||
|
||||
############################
|
||||
#### Anwendung
|
||||
############################
|
||||
|
||||
#### Aufgabenverwaltung StuRa HTW Dresden
|
||||
#### Redmine
|
||||
|
||||
#### Beim StuRa braucht es einen Dienst zur Aufgabenverwaltung.
|
||||
#### Beim StuRa wird (gefuehlt seit jeher) die Anwendung Redmine fuer den Dienst Aufgabenverwaltung verwendet.
|
||||
|
||||
#### https://search.nixos.org/options?show=services.redmine.enable
|
||||
#### Verwenden der Anwendung Redmine
|
||||
services.redmine.enable = true;
|
||||
#### Standardmaessig verwendet die Anwendung Redmine den Port 3000.
|
||||
#### Es ist aber ueblich, dass die Anwendung Redmine nicht direkt, sondern nur ueber eine eine uebliche Anwednung fuer den Dienst web server, erreichbar sein soll. networking.firewall.allowedTCPPorts = [ 3000 ];
|
||||
|
||||
#### https://search.nixos.org/options?show=services.redmine.settings
|
||||
#### https://github.com/redmine/redmine/blob/master/config/configuration.yml.example
|
||||
#### Standardmaessig ist keine Konfiguration fuer den Versand von Mails bei der Anwendung Redmine konfiguriert. Es ist kein Versand von Mails durch die Anwendung moeglich.
|
||||
#### Der Dienst Aufgabenverwaltung soll aber Mails - um ueber Aenderungen beim der Aufgabenverwaltung informieren zu koennen - Mails versenden koennen.
|
||||
#### #### Achtung! Die Inhalte der Konfiguration werden den Inhalten der sonstigen Inhalten der Konfiguration von in der Dateie fuer die Konfiguration der Anwendung Redmine vorangestellt.
|
||||
services.redmine.settings.production.email_delivery = {
|
||||
delivery_method = ":smtp";
|
||||
smtp_settings = {
|
||||
address = "mail.${config.networking.domain}";
|
||||
port = 25;
|
||||
};
|
||||
#### Alternativ waere vielleicht auch das Versand von Mails durch das Programm sendmail (als lokale Installation) moeglich.
|
||||
#### Getestet wurde das aber noch nicht.
|
||||
##### delivery_method = ":sendmail";
|
||||
};
|
||||
};
|
||||
nginx = {
|
||||
enable = true;
|
||||
logError = "/dev/null emerg";
|
||||
appendHttpConfig = ''
|
||||
|
||||
#### https://www.redmine.org/projects/redmine/wiki/RedmineAdminInformation#ImageMagick-convert-available
|
||||
services.redmine.components.imagemagick = true;
|
||||
services.redmine.components.minimagick_font_path = "${pkgs.liberation_ttf.outPath}/share/fonts/truetype/LiberationSans-Regular.ttf";
|
||||
#### https://www.redmine.org/projects/redmine/wiki/RedmineAdminInformation#ImageMagick-PDF-support-available
|
||||
services.redmine.components.ghostscript = true;
|
||||
|
||||
#### Die Anwendung Redmine kann mit sogenannten Plugins erweitert werden.
|
||||
#### Beim StuRa brauchen wir keine Erweiterungen fuer die Anwendung Redmine.
|
||||
#### Zum Test der Verwendung von Erweiterungen fuer die Anwendung Redmine installieren wir "zufaellige" Erweiterungen.
|
||||
# services.redmine.plugins = {
|
||||
# issue_recurring = builtins.fetchurl {
|
||||
# url = "https://github.com/cryptogopher/issue_recurring/archive/refs/tags/1.7.zip";
|
||||
# sha256 = "1s729gyh2wsa9yljm6gvk76z3qxnp1vhaydypvda8miw69csvs34";
|
||||
# };
|
||||
#### siehe instanz 137 (srs-test-pve)
|
||||
#### https://10.1.0.17:8006/#v1:0:=lxc%2F137:4:::::::
|
||||
# redmine_kanban = builtins.fetchurl {
|
||||
## url = "https://github.com/happy-se-life/kanban/archive/refs/heads/master.zip";
|
||||
# url = "https://github.com/happy-se-life/kanban/archive/refs/heads/tags0.0.11.zip";
|
||||
# sha256 = "01ymd25169dhyc4ksdx67w5h9rba09hrvmfw7bc6y71lsrxlg4sr";
|
||||
# };
|
||||
# };
|
||||
|
||||
#### weitere Inhalte zur Konfiguration
|
||||
#### ls -l /var/lib/redmine/config/
|
||||
|
||||
#### Die Anwendung Redmine soll nicht direkt, sondern ueber eine uebliche Anwendung fuer den Dienst web server, erreichbar sein.
|
||||
#### Es braucht einen (nahezu beliebigen) web server.
|
||||
#### Beim StuRa HTW Dresden verwenden wir als web server moeglichst Nginx.
|
||||
#### Verwenden der Anwendung Nginx als web server (Proxy)
|
||||
services.nginx.enable = true;
|
||||
|
||||
#### Der StuRa speichert nicht!
|
||||
services.nginx.logError = ''/dev/null emerg'';
|
||||
services.nginx.appendHttpConfig = ''
|
||||
access_log off;
|
||||
'';
|
||||
recommendedOptimisation = true;
|
||||
recommendedGzipSettings = true;
|
||||
recommendedProxySettings = true;
|
||||
recommendedTlsSettings = true;
|
||||
virtualHosts = {
|
||||
"pro.htw.stura-dresden.de" = {
|
||||
|
||||
#### Wir verwenden die fuer NixOS ueblichen Empfehlung fuer Nginx.
|
||||
services.nginx.recommendedOptimisation = true;
|
||||
services.nginx.recommendedGzipSettings = true;
|
||||
##### Mit der Anwendung Nginx soll die Erreichbarkeit der Anwendung Redmine (standardmaessig an Port 3000) (auf erwartbaren Weg) moeglich machen.
|
||||
services.nginx.recommendedProxySettings = true;
|
||||
#### Mit der Anwendung Nginx soll die (ausschließliche) Verwendung von https (http mit TLS), statt http ermoeglicht werden.
|
||||
services.nginx.recommendedTlsSettings = true;
|
||||
|
||||
#### Anscheinend kann mit nix nur die Konfiguration fuer eine konkrete (manuelle) Konfiguration fuer den Dienst web server.
|
||||
services.nginx.virtualHosts."${config.networking.fqdn}" = {
|
||||
#### https://search.nixos.org/options?show=services.nginx.virtualHosts.<name>.default
|
||||
default = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:${toString config.services.redmine.port}";
|
||||
};
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
};
|
||||
services.nginx.virtualHosts."pro.htw.stura-dresden.de" = {
|
||||
#### https://search.nixos.org/options?show=services.nginx.virtualHosts.<name>.default
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:${toString config.services.redmine.port}";
|
||||
};
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
};
|
||||
|
||||
#### Die Verwendung von TLS braucht ein (valides) Zertifikat.
|
||||
#### Beim StuRa verwenden wir den ((auch bei NixOS) standardmaessigen) Dienst von letsencrypt.org.
|
||||
#### Bereitstellen der Informationen (Erreichbarkeit und Einwilligung) fuer letsencrypt.org
|
||||
security.acme.defaults.email = "cert@stura.htw-dresden.de";
|
||||
security.acme.acceptTerms = true;
|
||||
|
||||
# networking.firewall.allowedTCPPorts = [ 80 443 3000 ];
|
||||
networking.firewall.allowedTCPPorts = [ 22 80 443 ];
|
||||
|
||||
|
||||
############################
|
||||
#### Probleme
|
||||
############################
|
||||
|
||||
# services.redmine.package = unstable.redmine;
|
||||
# services.redmine.packages = pkgs.redmine.override { rubyPackages.rails = pkgs.ruby_2_7; };
|
||||
|
||||
|
||||
#### Problem Verweigerung der Akualisierung wegen unsicherenen Paket redmine
|
||||
|
||||
#### 2025-06-09 vat
|
||||
#### Durch die Aktualisierung auf Redmine Version 6 durch die Aktualisierung auf NixOS Version 25.05 scheint das Problem ueberwunden (siehe Ticket #2475) zu sein.
|
||||
##### Ausnahme für upgrade von der Instanz
|
||||
##### siehe Ticket #2241
|
||||
#### nixpkgs.config.permittedInsecurePackages = [
|
||||
######## 2025-05-16 vat@
|
||||
######## Die Aktualisierung lief nicht, da nun 5.1.8 verwendet wird.
|
||||
##### "redmine-5.1.7"
|
||||
#### "redmine-5.1.8"
|
||||
#### ];
|
||||
|
||||
|
||||
#### Problem - wie bei allen Instanzen mit NixOS auf PVE - fehlende Bereitstellung der Daten fuer locale
|
||||
|
||||
#### 2025-06-27 vat@ && tan@
|
||||
#### gescheiterter Versuch um fehlermeldungen nach
|
||||
#### pct enter 100
|
||||
#### . /etc/profile
|
||||
####sh: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
|
||||
####sh: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory
|
||||
#### zu vermeiden.
|
||||
|
||||
## i18n.extraLocales = [
|
||||
## "all"
|
||||
## ];
|
||||
|
||||
# i18n.extraLocaleSettings = {
|
||||
# LC_CTYPE = "en_US.UTF-8";
|
||||
# LC_COLLATE = "en_US.UTF-8";
|
||||
## LC_CTYPE = "en_US.utf8";
|
||||
## LC_COLLATE = "en_US.utf8";
|
||||
### LC_ALL = "en_US.UTF-8";
|
||||
# };
|
||||
|
||||
# i18n.localeCharsets = {
|
||||
# LC_CTYPE = "en_US.UTF-8";
|
||||
# LC_COLLATE = "en_US.utf8";
|
||||
# };
|
||||
|
||||
# i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
# i18n.glibcLocales = pkgs.glibcLocales;
|
||||
# i18n.glibcLocales = pkgs.glibcLocalesUtf8;
|
||||
|
||||
# environment.systemPackages = with pkgs; [
|
||||
# glibcLocales
|
||||
# glibcLocalesUtf8
|
||||
# ];
|
||||
|
||||
# environment.variables = {
|
||||
# LC_CTYPE = "en_US.UTF-8";
|
||||
# LC_COLLATE = "en_US.UTF-8";
|
||||
# };
|
||||
|
||||
#### ve
|
||||
|
||||
############################
|
||||
#### Problem Anwendung Redmine startet nicht, weil beim Bauen vom Paket Inhalte aus einem Gemfile nicht richtig behandelt werden
|
||||
############################
|
||||
#### https://pro.stura.htw-dresden.de/issues/2510
|
||||
|
||||
############################
|
||||
#### nixpkgs
|
||||
############################
|
||||
|
||||
#### 2025-07-11 vat
|
||||
#### vb
|
||||
|
||||
#### https://wiki.nixos.org/wiki/FAQ/Pinning_Nixpkgs#Pinning_an_unstable_service
|
||||
|
||||
# nixpkgs.config = {
|
||||
## allowUnfree = true;
|
||||
# packageOverrides = pkgs: {
|
||||
## unstable = import <nixpkgs-unstable> {
|
||||
# master = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/d21825f9cf895942e057230c56625e2290d1b149.tar.gz") {
|
||||
# config = config.nixpkgs.config;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
## environment.systemPackages = with pkgs; [
|
||||
## unstable.redmine
|
||||
## ];
|
||||
##
|
||||
#
|
||||
services.redmine.package =
|
||||
let
|
||||
#### fixing commit
|
||||
#### https://github.com/NixOS/nixpkgs/commit/d21825f9cf895942e057230c56625e2290d1b149
|
||||
# pkgs_master_redmine_fixed = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/d21825f9cf895942e057230c56625e2290d1b149.tar.gz") {
|
||||
# config = config.nixpkgs.config;
|
||||
# };
|
||||
#### https://github.com/NixOS/nixpkgs/commits/nixos-25.05/pkgs/by-name/re/redmine
|
||||
#### breaking commit
|
||||
#### https://github.com/NixOS/nixpkgs/commit/1105b34ec2b88e82fe35be9e6ba5c547487824b2
|
||||
pkgs_redmine_25-05_before-broken = import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/c80c8f5ba65ceab4c7ec266293a2ce20a663d245.tar.gz") {
|
||||
config = config.nixpkgs.config;
|
||||
};
|
||||
in
|
||||
# pkgs_master_redmine_fixed.redmine;
|
||||
pkgs_redmine_25-05_before-broken.redmine;
|
||||
|
||||
#### https://github.com/NixOS/nixpkgs/pull/424140
|
||||
#### https://github.com/NixOS/nixpkgs/pull/424285
|
||||
|
||||
#### ve
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,38 +0,0 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"ata_piix"
|
||||
"uhci_hcd"
|
||||
"virtio_pci"
|
||||
"virtio_scsi"
|
||||
"sd_mod"
|
||||
"sr_mod"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
# fileSystems."/" =
|
||||
# {
|
||||
# device = "/dev/sda1";
|
||||
# fsType = "ext4";
|
||||
# };
|
||||
|
||||
# swapDevices = [ ];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue