summaryrefslogtreecommitdiffstats
path: root/makefu
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2021-03-12 20:10:27 +0100
committermakefu <github@syntax-fehler.de>2021-03-12 20:10:39 +0100
commitba614307cdc027dddd9aee2fecdaac86336957eb (patch)
treebda38bc2a0e4099511d63a05ed855807193f12b5 /makefu
parent27e182f7f878721c665b92b287e0d5f8da5bd06a (diff)
ma omo.r: deploy airsonic,photoprism,metube
Diffstat (limited to 'makefu')
-rw-r--r--makefu/1systems/omo/config.nix28
-rw-r--r--makefu/1systems/omo/hw/omo.nix4
-rw-r--r--makefu/2configs/home/airsonic.nix29
-rw-r--r--makefu/2configs/home/metube.nix35
-rw-r--r--makefu/2configs/home/photoprism.nix9
5 files changed, 92 insertions, 13 deletions
diff --git a/makefu/1systems/omo/config.nix b/makefu/1systems/omo/config.nix
index a9e307dd..a0459371 100644
--- a/makefu/1systems/omo/config.nix
+++ b/makefu/1systems/omo/config.nix
@@ -28,9 +28,11 @@ in {
<stockholm/makefu/2configs/home-manager>
<stockholm/makefu/2configs/home-manager/cli.nix>
<stockholm/makefu/2configs/editor/neovim>
+ <stockholm/makefu/2configs/storj/client.nix>
<stockholm/makefu/2configs/backup/state.nix>
+ <stockholm/makefu/2configs/backup/server.nix>
<stockholm/makefu/2configs/exim-retiolum.nix>
# <stockholm/makefu/2configs/smart-monitor.nix>
<stockholm/makefu/2configs/mail-client.nix>
@@ -68,7 +70,7 @@ in {
<stockholm/makefu/2configs/tinc/retiolum.nix>
# statistics
- <stockholm/makefu/2configs/stats/client.nix>
+ # <stockholm/makefu/2configs/stats/client.nix>
# Logging
#influx + grafana
<stockholm/makefu/2configs/stats/server.nix>
@@ -91,13 +93,18 @@ in {
<stockholm/makefu/2configs/virtualisation/docker.nix>
<stockholm/makefu/2configs/bluetooth-mpd.nix>
- <stockholm/makefu/2configs/ham>
+ <stockholm/makefu/2configs/home/ham>
+ <stockholm/makefu/2configs/home/airsonic.nix>
+ <stockholm/makefu/2configs/home/photoprism.nix>
+ <stockholm/makefu/2configs/home/metube.nix>
{
makefu.ps3netsrv = {
enable = true;
servedir = "/media/cryptX/emu/ps3";
};
}
+
+
{
hardware.pulseaudio.systemWide = true;
makefu.mpd.musicDirectory = "/media/cryptX/music";
@@ -107,7 +114,15 @@ in {
<stockholm/makefu/2configs/sshd-totp.nix>
# <stockholm/makefu/2configs/logging/central-logging-client.nix>
- <stockholm/makefu/2configs/torrent.nix>
+ # <stockholm/makefu/2configs/torrent.nix>
+ {
+ #krebs.rtorrent = {
+ # downloadDir = lib.mkForce "/media/cryptX/torrent";
+ # extraConfig = ''
+ # upload_rate = 500
+ # '';
+ #};
+ }
# <stockholm/makefu/2configs/elchos/search.nix>
# <stockholm/makefu/2configs/elchos/log.nix>
@@ -118,16 +133,11 @@ in {
# Temporary:
# <stockholm/makefu/2configs/temp/rst-issue.nix>
+ <stockholm/makefu/2configs/bgt/social-to-irc.nix>
];
makefu.full-populate = true;
nixpkgs.config.allowUnfree = true;
- krebs.rtorrent = {
- downloadDir = lib.mkForce "/media/cryptX/torrent";
- extraConfig = ''
- upload_rate = 500
- '';
- };
users.groups.share = {
gid = (import <stockholm/lib>).genid "share";
members = [ "makefu" "misa" ];
diff --git a/makefu/1systems/omo/hw/omo.nix b/makefu/1systems/omo/hw/omo.nix
index 586ad98c..ae5b778b 100644
--- a/makefu/1systems/omo/hw/omo.nix
+++ b/makefu/1systems/omo/hw/omo.nix
@@ -51,6 +51,10 @@ in {
enable = true;
disks = map toMapper [ 0 1 3 ];
parity = toMapper 2; # find -name PARITY_PARTITION
+ extraConfig = ''
+ exclude /lib/storj/
+ exclude /.bitcoin/blocks/
+ '';
};
fileSystems = let
cryptMount = name:
diff --git a/makefu/2configs/home/airsonic.nix b/makefu/2configs/home/airsonic.nix
new file mode 100644
index 00000000..15e77438
--- /dev/null
+++ b/makefu/2configs/home/airsonic.nix
@@ -0,0 +1,29 @@
+{ config, ... }:
+let
+ internal-ip = "192.168.1.11";
+ port = 4040;
+in
+{
+ # networking.firewall.allowedTCPPorts = [ 4040 ];
+ services.airsonic = {
+ enable = true;
+ listenAddress = "0.0.0.0";
+ inherit port;
+ };
+ state = [ config.services.airsonic.home ];
+ services.nginx.virtualHosts."airsonic" = {
+ serverAliases = [
+ "airsonic.lan"
+ "music" "music.lan"
+ "musik" "musik.lan"
+ ];
+
+ locations."/".proxyPass = "http://localhost:${toString port}";
+ locations."/".proxyWebsockets = true;
+ extraConfig = ''
+ if ( $server_addr != "${internal-ip}" ) {
+ return 403;
+ }
+ '';
+ };
+}
diff --git a/makefu/2configs/home/metube.nix b/makefu/2configs/home/metube.nix
new file mode 100644
index 00000000..c872bea0
--- /dev/null
+++ b/makefu/2configs/home/metube.nix
@@ -0,0 +1,35 @@
+{ pkgs, lib, ...}:
+# docker run -d -p 8081:8081 -v /path/to/downloads:/downloads --user 1001:1001 alexta69/metube
+with import <stockholm/lib>;
+let
+ port = "2348";
+ dl-dir = "/media/cryptX/youtube/music";
+ uid = 20421;
+ internal-ip = "192.168.1.11";
+in
+ {
+ systemd.tmpfiles.rules = [
+ "d ${dl-dir} metube nogroup - -"
+ ];
+ virtualisation.oci-containers.backend = "docker";
+
+ services.nginx.virtualHosts."tube" = {
+ serverAliases = [ "tube.lan" ];
+ locations."/".proxyPass = "http://localhost:${port}";
+ };
+
+ virtualisation.oci-containers.containers.metube = {
+ image = "alexta69/metube:latest";
+ ports = [ "${port}:8081" ];
+ volumes = [
+ "${dl-dir}:/downloads"
+ ];
+ user = "metube";
+ };
+ users.users.metube.uid = uid;
+
+ systemd.services.docker-metube.serviceConfig = {
+ StandardOutput = lib.mkForce "journal";
+ StandardError = lib.mkForce "journal";
+ };
+}
diff --git a/makefu/2configs/home/photoprism.nix b/makefu/2configs/home/photoprism.nix
index aaccd735..ef420057 100644
--- a/makefu/2configs/home/photoprism.nix
+++ b/makefu/2configs/home/photoprism.nix
@@ -16,8 +16,8 @@
let
port = "2347";
photodir = "/media/cryptX/photos";
- statedir = "/var/lib/photoprism/appsrv";
- db-dir = "/var/lib/photoprism/mysql";
+ statedir = "/media/cryptX/lib/photoprism/appsrv";
+ db-dir = "/media/cryptX/lib/photoprism/mysql";
internal-ip = "192.168.1.11";
sec = import <secrets/photoprism.nix>;
in
@@ -97,6 +97,7 @@ in
PHOTOPRISM_SITE_CAPTION = "FeMi Fotos";
PHOTOPRISM_SITE_DESCRIPTION = "Unsere Fotos";
PHOTOPRISM_SITE_AUTHOR = "FeMi";
+ PHOTOPRISM_SPONSOR = "true";
};
};
@@ -135,11 +136,11 @@ in
# };
#};
- systemd.services.photoprism.serviceConfig = {
+ systemd.services.docker-photoprism.serviceConfig = {
StandardOutput = lib.mkForce "journal";
StandardError = lib.mkForce "journal";
};
- systemd.services.mysql-photoprism.serviceConfig = {
+ systemd.services.docker-mysql-photoprism.serviceConfig = {
StandardOutput = lib.mkForce "journal";
StandardError = lib.mkForce "journal";
};