Compare commits
9 Commits
fileserver
...
9b88fa6315
| Author | SHA1 | Date | |
|---|---|---|---|
| 9b88fa6315 | |||
| 5eaceb77a1 | |||
|
|
d958f3efc0 | ||
| f5d36e666d | |||
| c8d7112f58 | |||
| 2a8fa5fb20 | |||
|
|
88c08d1346 | ||
|
|
7458b66c52 | ||
|
|
fae8035597 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,3 +4,4 @@
|
||||
result
|
||||
*.qcow2
|
||||
.direnv/
|
||||
book/
|
||||
|
||||
31
README.md
31
README.md
@@ -98,34 +98,3 @@ 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
|
||||
|
||||
|
||||
1
doc/.gitignore
vendored
Normal file
1
doc/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
book
|
||||
6
doc/book.toml
Normal file
6
doc/book.toml
Normal file
@@ -0,0 +1,6 @@
|
||||
[book]
|
||||
authors = ["ahtlon"]
|
||||
language = "de"
|
||||
multilingual = false
|
||||
src = "src"
|
||||
title = "Malobeo Infrastruktur Dokumentation"
|
||||
1
doc/src/Index.md
Normal file
1
doc/src/Index.md
Normal file
@@ -0,0 +1 @@
|
||||
# Index
|
||||
16
doc/src/SUMMARY.md
Normal file
16
doc/src/SUMMARY.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Summary
|
||||
|
||||
- [Index](./Index.md)
|
||||
- [Info]()
|
||||
- [Aktuelle Server]()
|
||||
- [Durruti](./server/durruti.md)
|
||||
- [Lucia](./server/lucia.md)
|
||||
- [Hardware]()
|
||||
- [Netzwerk]()
|
||||
- [Seiten]()
|
||||
- [Website](./server/website.md)
|
||||
- [musik](./projekte/musik.md)
|
||||
- [TODO](./todo.md)
|
||||
- [How-to]()
|
||||
- [Updates](./anleitung/updates.md)
|
||||
- [Rollbacks](./anleitung/rollback.md)
|
||||
1
doc/src/anleitung/rollback.md
Normal file
1
doc/src/anleitung/rollback.md
Normal file
@@ -0,0 +1 @@
|
||||
# Rollbacks
|
||||
1
doc/src/anleitung/updates.md
Normal file
1
doc/src/anleitung/updates.md
Normal file
@@ -0,0 +1 @@
|
||||
# Updates
|
||||
1
doc/src/projekte/musik.md
Normal file
1
doc/src/projekte/musik.md
Normal file
@@ -0,0 +1 @@
|
||||
# musik
|
||||
2
doc/src/server/durruti.md
Normal file
2
doc/src/server/durruti.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# Durruti
|
||||
Hetzner Server
|
||||
2
doc/src/server/lucia.md
Normal file
2
doc/src/server/lucia.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# Lucia
|
||||
Lokaler Raspberry Pi 3
|
||||
7
doc/src/server/website.md
Normal file
7
doc/src/server/website.md
Normal file
@@ -0,0 +1,7 @@
|
||||
#Website
|
||||
|
||||
hosted on uberspace
|
||||
runs malobeo.org(wordpress) and forum.malobeo.org(phpbb)
|
||||
access via ssh with public key or password
|
||||
Files under /var/www/virtual/malobeo/html
|
||||
|
||||
32
doc/src/todo.md
Normal file
32
doc/src/todo.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# 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 a local wiki with infrastructure information
|
||||
* [x] host some pad (codimd aka hedgedoc)
|
||||
* [ ] some network fileshare for storing the movies and streaming them within the network
|
||||
- Currently developed in the 'fileserver' branch
|
||||
- NFSV4 based
|
||||
* [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
|
||||
@@ -7,7 +7,6 @@ in
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
../modules/malobeo_user.nix
|
||||
./file_server.nix
|
||||
];
|
||||
|
||||
sops.defaultSopsFile = ./secrets.yaml;
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
#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
|
||||
}
|
||||
@@ -100,12 +100,11 @@ in
|
||||
nix = {
|
||||
# Show a diff when activating a new system except for microvms which handle this seperately
|
||||
#diffSystem = config.malobeo.deployment.server or "" == "";
|
||||
#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";
|
||||
#};
|
||||
gc = lib.mkIf config.malobeo.autoUpdate.enable {
|
||||
automatic = true;
|
||||
randomizedDelaySec = "6h";
|
||||
options = "--delete-older-than 21d";
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [ (
|
||||
|
||||
29
outputs.nix
29
outputs.nix
@@ -18,6 +18,35 @@ in (utils.lib.eachSystem (builtins.filter filter_system utils.lib.defaultSystems
|
||||
devShells.default = pkgs.callPackage ./shell.nix {
|
||||
inherit (sops-nix.packages."${pkgs.system}") sops-import-keys-hook ssh-to-pgp sops-init-gpg-key;
|
||||
};
|
||||
|
||||
packages = {
|
||||
docs = pkgs.stdenv.mkDerivation {
|
||||
name = "malobeo-docs";
|
||||
phases = [ "buildPhase" ];
|
||||
buildInputs = [ pkgs.mdbook ];
|
||||
|
||||
inputs = pkgs.lib.sourceFilesBySuffices ./doc/. [ ".md" ".toml" ];
|
||||
|
||||
buildPhase = ''
|
||||
dest=$out/share/doc
|
||||
mkdir -p $dest
|
||||
cp -r --no-preserve=all $inputs/* ./
|
||||
mdbook build
|
||||
ls
|
||||
cp -r ./book/* $dest
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
apps = {
|
||||
docs = {
|
||||
type = "app";
|
||||
program = builtins.toString (pkgs.writeScript "docs" ''
|
||||
${pkgs.mdbook}/bin/mdbook serve --open ./doc
|
||||
'');
|
||||
};
|
||||
};
|
||||
|
||||
})) // rec {
|
||||
nixosConfigurations = import ./machines/configuration.nix (inputs // {
|
||||
inherit inputs;
|
||||
|
||||
Reference in New Issue
Block a user