Compare commits

..

No commits in common. "b4a3f9c9ec849f03f68243c258221c72ff67e188" and "6677f1e8d0ce0ec2e7ead65a5cf46ff9e454beed" have entirely different histories.

15 changed files with 43 additions and 182 deletions

View file

@ -1,8 +0,0 @@
{ config, pkgs, lib, ... }:
{
services.audiobookshelf = {
enable = true;
openFirewall = true;
};
}

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ lib, pkgs, config, ... }:
{
services = {
@ -9,19 +9,14 @@
credentialsFile = "{{/path/to/UUID.json}}";
default = "http_status:404";
ingress = {
"ahoneybun.net" = "http://localhost:80";
"www.ahoneybun.net" = "http://localhost:80";
"photos.ahoneybun.net" = "http://localhost:2342";
"hydra.ahoneybun.net" = "http://localhost:3000";
"git.ahoneybun.net" = "http://localhost:3001";
"music.ahoneybun.net" = "http://localhost:4533";
"wiki.ahoneybun.net" = "http://localhost:4567";
"books.ahoneybun.net" = "http://localhost:8080";
"audiobookshelf.ahoneybun.net" = "http://localhost:8000";
"home.ahoneybun.net" = "http://localhost:8082";
"bin.ahoneybun.net" = "http://localhost:8088";
"videos.ahoneybun.net" = "http://localhost:8096";
"status.ahoneybun.net" = "http://localhost:61208";
"ahoneybun.net" = "http://localhost:80"; # Nginx http
"www.ahoneybun.net" = "http://localhost:80"; # Nginx https
"status.ahoneybun.net" = "http://localhost:8082"; # Homepage Dashboard
"photos.ahoneybun.net" = "http://localhost:2342"; # PhotoPrism
"git.ahoneybun.net" = "http://localhost:3001"; # Forgejo
"wiki.ahoneybun.net" = "http://localhost:4567"; # Gollum
"books.ahoneybun.net" = "http://localhost:5000"; # Kavita
"videos.ahoneybun.net" = "http://localhost:8096"; # Jellyfin
};
};
};

View file

@ -11,9 +11,9 @@ in
lfs.enable = true;
settings = {
server = {
DOMAIN = "git.ahoneybun.net";
#DOMAIN = "git.example.com";
# You need to specify this to remove the port from URLs in the web UI.
ROOT_URL = "https://${srv.DOMAIN}/";
#ROOT_URL = "https://${srv.DOMAIN}/";
HTTP_PORT = 3001;
};
# You can temporarily allow registration to create an admin user.

View file

View file

@ -1,64 +0,0 @@
{ config, pkgs, lib, ... }:
{
services.gatus = {
enable = true;
openFirewall = true;
settings = {
web.port = 61208;
endpoints = [
{
name = "Personal Site";
url = "https://ahoneybun.net";
interval = "5m";
conditions = [
"[STATUS] == 200"
"[RESPONSE_TIME] < 300"
];
}
{
name = "Jellyfin";
url = "https://videos.ahoneybun.net/health";
interval = "5m";
conditions = [
"[STATUS] == 200"
"[BODY] == Healthy"
"[RESPONSE_TIME] < 300"
];
}
{
name = "Navidrome";
url = "https://music.ahoneybun.net";
interval = "5m";
conditions = [
"[STATUS] == 200"
];
}
{
name = "Forgejo";
url = "https://git.ahoneybun.net/";
interval = "5m";
conditions = [
"[STATUS] == 200"
];
}
{
name = "PhotoPrism";
url = "https://photos.ahoneybun.net";
interval = "5m";
conditions = [
"[STATUS] == 200"
];
}
{
name = "Audiobookself";
url = "https://audiobookshelf.ahoneybun.net/";
interval = "5m";
conditions = [
"[STATUS] == 200"
];
}
];
};
};
}

View file

@ -2,8 +2,7 @@
{
services.gollum = {
enable = true;
no-edit = true;
stateDir = "/mnt/DATA/Wiki";
enable = true;
no-edit = true;
};
}

View file

@ -1,14 +1,14 @@
{ lib, pkgs, config, ... }:
{
services.homepage-dashboard = {
enable = true;
settings = {
language = "en";
title = "Honeycutt Homelab";
#background = "https://w.wallhaven.cc/full/l8/wallhaven-l85z2l.jpg";
color = "neutral";
background = "https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80";
headerStyle = "boxed";
layout = {
media = { style = "row"; columns = 4; };
media = { style = "row"; columns = 3; };
infra = { style = "row"; columns = 2; };
games = { style = "row"; columns = 1; };
};
@ -20,63 +20,25 @@
services = [
{
media = [
{
Navidrome = {
icon = "navidrome.png";
href = "https://music.ahoneybun.net";
description = "music player";
};
}
{
Jellyfin = {
icon = "jellyfin.png";
href = "https://videos.ahoneybun.net";
description = "media player";
widget = {
type = "jellyfin";
url = "https://videos.ahoneybun.net";
key = "";
enableNowPlaying = "false";
enableBlocks = "true";
};
href = "URL:8096";
description = "media management";
};
}
{
Komga = {
icon = "komga.png";
href = "https://books.ahoneybun.net";
description = "book reader";
widget = {
type = "komga";
url = "https://books.ahoneybun.net";
username = "";
password = "";
};
Kavita = {
icon = "kavita.png";
href = "URL:5000";
description = "book management";
};
}
{
PhotoPrism = {
icon = "photoprism.png";
href = "https://photos.ahoneybun.net";
description = "photo viewer";
widget = {
type = "photoprism";
url = "https://photos.ahoneybun.net";
username = "";
password = "";
};
};
}
{
Audiobookshelf = {
icon = "audiobookshelf.png";
href = "https://audiobookshelf.ahoneybun.net";
description = "audiobook player";
widget = {
type = "audiobookshelf";
url = "https://audiobookshelf.ahoneybun.net";
key = "";
};
href = "URL:2342";
description = "photo management";
};
}
];
@ -84,17 +46,17 @@
{
infra = [
{
Forgejo = {
icon = "forgejo.png";
href = "https://git.ahoneybun.net";
description = "a lightweight software forge, with a highlight on being completely free software";
Hydra = {
icon = "hydra.png";
href = "URL:3000";
description = "the Nix-based continuous build system";
};
}
{
Gollum = {
icon = "gollum.png";
href = "https://wiki.ahoneybun.net";
description = "a simple, Git-powered wiki for many kinds of markup and content.";
Forgejo = {
icon = "forgejo.png";
href = "URL:3001";
description = "a lightweight software forge, with a highlight on being completely free software";
};
}
];
@ -104,16 +66,17 @@
{
Minecraft = {
icon = "minecraft.png";
href = "IP:25565";
href = "URL:25565";
description = "stack some blocks";
widget = {
type = "minecraft";
url = "udp://IP:25565";
url = "udp://URL:25565";
};
};
}
];
}
];
};
}

View file

View file

@ -1,8 +0,0 @@
{ config, pkgs, lib, ... }:
{
services.komga = {
enable = true;
openFirewall = true;
};
}

View file

@ -1,14 +0,0 @@
{ config, pkgs, lib, ... }:
{
services.navidrome = {
enable = true;
user = "aaronh";
group = "navidrome";
openFirewall = true;
settings = {
Address = "0.0.0.0";
MusicFolder = "/mnt/DATA/Media/Music";
};
};
}

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ lib, pkgs, config, ... }:
{
services.nginx = {
@ -10,11 +10,6 @@
default_type text/html;
'';
};
locations."~* \.atom\.xml$" = {
extraConfig = ''
types { } default_type "application/atom+xml; charset=utf-8";
'';
};
};
};
}
}

View file

@ -79,9 +79,12 @@
networking.hostName = "edi";
networking.firewall = {
enable = true;
# 2342 = PhotoPrism
# 3000 = Hydra
# 5000 = Kavita
# 8096 = Jellyfin
# 11434 = Ollama
# 25565 = Minecraft
allowedTCPPorts = [ 80 443 2342 9091 11434 25565 ];
allowedTCPPorts = [ 80 443 2342 3000 5000 8096 9091 11434 ];
};
nixpkgs.config.permittedInsecurePackages = [