5 Commits

Author SHA1 Message Date
ahtlon
9a667c8bdc kleine fehler behoben 2024-10-26 20:16:19 +02:00
ahtlon
705d895f0e erstmal statisches mounten --es fehlt die disk uuid 2024-10-26 19:56:46 +02:00
ahtlon
cfc023f9b1 erstelle nfs user 2024-10-26 19:33:49 +02:00
ahtlon
1201f0fc53 erstelle exports ordner 2024-10-26 19:08:14 +02:00
98a79d708a [durruti] fix wiping of hosts /nix/store
the automatic garbage collection of durruti - which runs inside a
nixos-container - complelty wiped the hosts nix store making basically
all the services fail and the machine unbootable.
2024-10-25 12:47:27 +02:00
15 changed files with 74 additions and 63 deletions

1
.gitignore vendored
View File

@@ -4,4 +4,3 @@
result
*.qcow2
.direnv/
book/

View File

@@ -98,3 +98,34 @@ for documentation we currently just use README.md files.
the devshell provides the python package ['grip'](https://github.com/joeyespo/grip) which can be used to preview different README.md files in the browser.
the usage is simple, just run ```grip``` in the same folder as the README.md you wanna preview. then open your browser at ```http://localhost:6419 ```.
## todos...
#### infrastructure
* [ ] host a local wiki with public available information about the space, for example:
* [ ] how to use coffe machine
* [ ] how to turn on/off electricity
* [ ] how to use beamer
* [ ] how to buecher ausleihen
* ...
* [x] host some pad (codimd aka hedgedoc)
* [ ] some network fileshare for storing the movies and streaming them within the network
* [x] malobeo network infrastructure rework
* [x] request mulvad acc
* [x] remove freifunk, use openwrt with mulvad configured
* [ ] evaluate imposing solutions
* [ ] pdfarranger
#### external services
we want to host two services that need a bit more resources, this is a booking system for the room itself and a library system.
- [x] analyse best way to include our stuff into external nixOs server
- [x] writing some module that is included by the server
- [x] directly use nixOs container on host
- [x] combination of both (module that manages nginx blabla + nixOs container for the services
#### bots&progrmaming
* [ ] create telegram bot automatically posting tuesday events
* [x] create webapp/interface replacing current task list pad
* could be a simple form for every tuesday
* [x] element bot should send updates if some tasks are not filled out

View File

@@ -1,6 +0,0 @@
[book]
authors = ["ahtlon"]
language = "de"
multilingual = false
src = "src"
title = "Malobeo Infrastruktur Dokumentation"

View File

@@ -7,6 +7,7 @@ in
imports =
[ # Include the results of the hardware scan.
../modules/malobeo_user.nix
./file_server.nix
];
sops.defaultSopsFile = ./secrets.yaml;

View File

@@ -0,0 +1,36 @@
{
#automount mit udisks2
#siehe udevadm monitor
#bash-script?
#user-oder root mount
#systemd-automount villeicht
fileSystems = {
"/mnt/extHdd0" = { #statisches mounten ist am einfachsten aber kein hotplug möglich
device = "/dev/disk/by-uuid/"; #noch ausfüllen
fsType = "ext4"; #zfs wäre hier cool
options = [ "users" "nofail" ];
};
"/exports/extHdd0" = {
device = "/mnt/extHdd0";
fsType = "none";
};
};
users.groups = { nfs = {gid = 1003; }; }; #erstelle nfs user und gruppe für isolation
users.users.nfs = {
isSystemUser = true;
group = "nfs";
uid = 1003;
};
users.users.malobeo.extraGroups = [ "nfs" ];
systemd.tmpfiles.rules = [ "d /export 0775 nfs nfs -" ]; #erstelle nfs ordner
services.nfs.server = {
enable = true;
exports = ''
/export 192.168.1.0/24(ro, nohide, no_subtree_check, async, all_squash, anonuid=1003, anongid=1003)
'';
};
networking.firewall.allowedTCPPorts = [ 2049 ]; #wir benutzen NfsV4 hoffentlich
}

View File

@@ -100,11 +100,12 @@ in
nix = {
# Show a diff when activating a new system except for microvms which handle this seperately
#diffSystem = config.malobeo.deployment.server or "" == "";
gc = lib.mkIf config.malobeo.autoUpdate.enable {
automatic = true;
randomizedDelaySec = "6h";
options = "--delete-older-than 21d";
};
#TODO: THIS WIPES HOSTS NIX STORE FROM WITHIN NIXOS-CONTAINER
#gc = lib.mkIf config.malobeo.autoUpdate.enable {
# automatic = true;
# randomizedDelaySec = "6h";
# options = "--delete-older-than 21d";
#};
};
environment.systemPackages = [ (

View File

@@ -18,6 +18,5 @@ mkShell {
sops-init-gpg-key
sops
pkgs.python310Packages.grip
pkgs.mdbook
];
}

View File

@@ -1 +0,0 @@
# Index

View File

@@ -1,15 +0,0 @@
# Summary
- [Index](./Index.md)
- [Info]()
- [Aktuelle Server]()
- [Durruti](./server/durruti.md)
- [Lucia](./server/lucia.md)
- [Hardware]()
- [Netzwerk]()
- [Seiten]()
- [musik](./projekte/musik.md)
- [TODO](./todo.md)
- [How-to]()
- [Updates](./anleitung/updates.md)
- [Rollbacks](./anleitung/rollback.md)

View File

@@ -1 +0,0 @@
# Rollbacks

View File

@@ -1 +0,0 @@
# Updates

View File

@@ -1 +0,0 @@
# musik

View File

@@ -1 +0,0 @@
# Durruti

View File

@@ -1 +0,0 @@
# Lucia

View File

@@ -1,29 +0,0 @@
# TODO
- [ ] Dieses wiki schreiben
#### infrastructure
* [ ] host a local wiki with public available information about the space, for example:
* [ ] how to use coffe machine
* [ ] how to turn on/off electricity
* [ ] how to use beamer
* [ ] how to buecher ausleihen
* ...
* [x] host some pad (codimd aka hedgedoc)
* [ ] some network fileshare for storing the movies and streaming them within the network
* [x] malobeo network infrastructure rework
* [x] request mulvad acc
* [x] remove freifunk, use openwrt with mulvad configured
* [ ] evaluate imposing solutions
* [ ] pdfarranger
#### external services
we want to host two services that need a bit more resources, this is a booking system for the room itself and a library system.
- [x] analyse best way to include our stuff into external nixOs server
- [x] writing some module that is included by the server
- [x] directly use nixOs container on host
- [x] combination of both (module that manages nginx blabla + nixOs container for the services
#### bots&progrmaming
* [ ] create telegram bot automatically posting tuesday events
* [x] create webapp/interface replacing current task list pad
* could be a simple form for every tuesday
* [x] element bot should send updates if some tasks are not filled out