Merge pull request 'redmine-wirklich' (#2) from redmine-wirklich into master
Reviewed-on: https://codeberg.org/stura-htw-dresden/stura-infra/pulls/2
This commit is contained in:
commit
0ed15dcc51
3 changed files with 269 additions and 82 deletions
|
|
@ -59,6 +59,14 @@ in
|
||||||
useXkbConfig = true; # use xkb.options in tty.
|
useXkbConfig = true; # use xkb.options in tty.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#### Wir verwenden die fuer NixOS ueblichen Empfehlung fuer Nginx.
|
||||||
|
services.nginx.recommendedOptimisation = true;
|
||||||
|
services.nginx.recommendedGzipSettings = true;
|
||||||
|
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;
|
||||||
|
|
||||||
|
|
||||||
users.users = {
|
users.users = {
|
||||||
# erstmal nur mit root
|
# erstmal nur mit root
|
||||||
# administration = {
|
# administration = {
|
||||||
|
|
|
||||||
|
|
@ -1,60 +1,277 @@
|
||||||
{
|
{ config, pkgs, lib, modulesPath, ... }:
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#services.openssh.enable = true;
|
||||||
imports = [
|
imports = [
|
||||||
"${modulesPath}/virtualisation/proxmox-lxc.nix"
|
"${modulesPath}/virtualisation/proxmox-lxc.nix"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
############################
|
||||||
|
#### NixOS
|
||||||
|
############################
|
||||||
|
|
||||||
system.stateVersion = "22.11";
|
system.stateVersion = "22.11";
|
||||||
|
|
||||||
|
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";
|
||||||
|
|
||||||
|
|
||||||
|
############################
|
||||||
|
#### Umgebung
|
||||||
|
############################
|
||||||
|
|
||||||
|
# environment.noXlibs = true;
|
||||||
|
services.xserver.enable = false;
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
############################
|
||||||
|
#### Netzwerk
|
||||||
|
############################
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
|
enableIPv6 = false;
|
||||||
hostName = "pro";
|
hostName = "pro";
|
||||||
domain = "htw.stura-dresden.de";
|
domain = lib.mkForce "stura.htw-dresden.de";
|
||||||
firewall.allowedTCPPorts = [
|
firewall.allowedTCPPorts = [ 22 80 443 ];
|
||||||
80
|
interfaces.eth0.ipv4.addresses = [
|
||||||
443
|
{
|
||||||
|
address = "141.56.51.15";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
defaultGateway.address = "141.56.51.254";
|
||||||
|
defaultGateway.interface = "eth0";
|
||||||
|
|
||||||
|
# firewall.allowedTCPPorts = [ 80 443 3000 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
|
||||||
redmine = {
|
|
||||||
enable = true;
|
############################
|
||||||
components.imagemagick = true;
|
#### System
|
||||||
components.minimagick_font_path = "${pkgs.liberation_ttf.outPath}/share/fonts/truetype/LiberationSans-Regular.ttf";
|
############################
|
||||||
components.ghostscript = true;
|
|
||||||
settings.production.email_delivery = {
|
proxmoxLXC.manageHostName = true;
|
||||||
delivery_method = ":smtp";
|
# wird in der default nix auch gesetzt
|
||||||
smtp_settings = {
|
|
||||||
address = "mail.${config.networking.domain}";
|
# time.timeZone = "Europe/Berlin";
|
||||||
port = 25;
|
|
||||||
};
|
|
||||||
};
|
############################
|
||||||
};
|
#### Anwendung
|
||||||
nginx = {
|
############################
|
||||||
enable = true;
|
|
||||||
logError = "/dev/null emerg";
|
#### Aufgabenverwaltung StuRa HTW Dresden
|
||||||
appendHttpConfig = ''
|
#### Redmine
|
||||||
access_log off;
|
|
||||||
'';
|
#### Beim StuRa braucht es einen Dienst zur Aufgabenverwaltung.
|
||||||
recommendedOptimisation = true;
|
#### Beim StuRa wird (gefuehlt seit jeher) die Anwendung Redmine fuer den Dienst Aufgabenverwaltung verwendet.
|
||||||
recommendedGzipSettings = true;
|
|
||||||
recommendedProxySettings = true;
|
#### https://search.nixos.org/options?show=services.redmine.enable
|
||||||
recommendedTlsSettings = true;
|
#### Verwenden der Anwendung Redmine
|
||||||
virtualHosts = {
|
services.redmine.enable = true;
|
||||||
"pro.htw.stura-dresden.de" = {
|
#### Standardmaessig verwendet die Anwendung Redmine den Port 3000.
|
||||||
locations."/" = {
|
#### 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 ];
|
||||||
proxyPass = "http://127.0.0.1:${toString config.services.redmine.port}";
|
|
||||||
};
|
#### https://search.nixos.org/options?show=services.redmine.settings
|
||||||
forceSSL = true;
|
#### https://github.com/redmine/redmine/blob/master/config/configuration.yml.example
|
||||||
enableACME = true;
|
#### 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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#### 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;
|
||||||
|
'';
|
||||||
|
|
||||||
|
#### 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;
|
||||||
|
};
|
||||||
|
|
||||||
|
############################
|
||||||
|
#### 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
|
||||||
|
#### ich glaub das hier kann weg wenn man sich per ssh einloggt bekommt man ne richtige shell mit korrekten umgebungsvariablen
|
||||||
|
|
||||||
|
#### 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
|
||||||
|
## ];
|
||||||
|
##
|
||||||
|
#
|
||||||
|
# mittlerweile in nixpkgs
|
||||||
|
#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