mirror of
https://gitlab.com/ahoneybun/nix-configs.git
synced 2025-05-13 11:43:01 -06:00
Compare commits
No commits in common. "b4a3f9c9ec849f03f68243c258221c72ff67e188" and "6677f1e8d0ce0ec2e7ead65a5cf46ff9e454beed" have entirely different histories.
b4a3f9c9ec
...
6677f1e8d0
15 changed files with 43 additions and 182 deletions
|
@ -1,8 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.audiobookshelf = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
|
@ -9,19 +9,14 @@
|
||||||
credentialsFile = "{{/path/to/UUID.json}}";
|
credentialsFile = "{{/path/to/UUID.json}}";
|
||||||
default = "http_status:404";
|
default = "http_status:404";
|
||||||
ingress = {
|
ingress = {
|
||||||
"ahoneybun.net" = "http://localhost:80";
|
"ahoneybun.net" = "http://localhost:80"; # Nginx http
|
||||||
"www.ahoneybun.net" = "http://localhost:80";
|
"www.ahoneybun.net" = "http://localhost:80"; # Nginx https
|
||||||
"photos.ahoneybun.net" = "http://localhost:2342";
|
"status.ahoneybun.net" = "http://localhost:8082"; # Homepage Dashboard
|
||||||
"hydra.ahoneybun.net" = "http://localhost:3000";
|
"photos.ahoneybun.net" = "http://localhost:2342"; # PhotoPrism
|
||||||
"git.ahoneybun.net" = "http://localhost:3001";
|
"git.ahoneybun.net" = "http://localhost:3001"; # Forgejo
|
||||||
"music.ahoneybun.net" = "http://localhost:4533";
|
"wiki.ahoneybun.net" = "http://localhost:4567"; # Gollum
|
||||||
"wiki.ahoneybun.net" = "http://localhost:4567";
|
"books.ahoneybun.net" = "http://localhost:5000"; # Kavita
|
||||||
"books.ahoneybun.net" = "http://localhost:8080";
|
"videos.ahoneybun.net" = "http://localhost:8096"; # Jellyfin
|
||||||
"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";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,9 +11,9 @@ in
|
||||||
lfs.enable = true;
|
lfs.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
DOMAIN = "git.ahoneybun.net";
|
#DOMAIN = "git.example.com";
|
||||||
# You need to specify this to remove the port from URLs in the web UI.
|
# 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;
|
HTTP_PORT = 3001;
|
||||||
};
|
};
|
||||||
# You can temporarily allow registration to create an admin user.
|
# You can temporarily allow registration to create an admin user.
|
||||||
|
|
|
@ -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"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -4,6 +4,5 @@
|
||||||
services.gollum = {
|
services.gollum = {
|
||||||
enable = true;
|
enable = true;
|
||||||
no-edit = true;
|
no-edit = true;
|
||||||
stateDir = "/mnt/DATA/Wiki";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -1,14 +1,14 @@
|
||||||
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.homepage-dashboard = {
|
services.homepage-dashboard = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
language = "en";
|
|
||||||
title = "Honeycutt Homelab";
|
title = "Honeycutt Homelab";
|
||||||
#background = "https://w.wallhaven.cc/full/l8/wallhaven-l85z2l.jpg";
|
background = "https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80";
|
||||||
color = "neutral";
|
|
||||||
headerStyle = "boxed";
|
headerStyle = "boxed";
|
||||||
layout = {
|
layout = {
|
||||||
media = { style = "row"; columns = 4; };
|
media = { style = "row"; columns = 3; };
|
||||||
infra = { style = "row"; columns = 2; };
|
infra = { style = "row"; columns = 2; };
|
||||||
games = { style = "row"; columns = 1; };
|
games = { style = "row"; columns = 1; };
|
||||||
};
|
};
|
||||||
|
@ -20,63 +20,25 @@
|
||||||
services = [
|
services = [
|
||||||
{
|
{
|
||||||
media = [
|
media = [
|
||||||
{
|
|
||||||
Navidrome = {
|
|
||||||
icon = "navidrome.png";
|
|
||||||
href = "https://music.ahoneybun.net";
|
|
||||||
description = "music player";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
Jellyfin = {
|
Jellyfin = {
|
||||||
icon = "jellyfin.png";
|
icon = "jellyfin.png";
|
||||||
href = "https://videos.ahoneybun.net";
|
href = "URL:8096";
|
||||||
description = "media player";
|
description = "media management";
|
||||||
widget = {
|
|
||||||
type = "jellyfin";
|
|
||||||
url = "https://videos.ahoneybun.net";
|
|
||||||
key = "";
|
|
||||||
enableNowPlaying = "false";
|
|
||||||
enableBlocks = "true";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Komga = {
|
Kavita = {
|
||||||
icon = "komga.png";
|
icon = "kavita.png";
|
||||||
href = "https://books.ahoneybun.net";
|
href = "URL:5000";
|
||||||
description = "book reader";
|
description = "book management";
|
||||||
widget = {
|
|
||||||
type = "komga";
|
|
||||||
url = "https://books.ahoneybun.net";
|
|
||||||
username = "";
|
|
||||||
password = "";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
PhotoPrism = {
|
PhotoPrism = {
|
||||||
icon = "photoprism.png";
|
icon = "photoprism.png";
|
||||||
href = "https://photos.ahoneybun.net";
|
href = "URL:2342";
|
||||||
description = "photo viewer";
|
description = "photo management";
|
||||||
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 = "";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -84,17 +46,17 @@
|
||||||
{
|
{
|
||||||
infra = [
|
infra = [
|
||||||
{
|
{
|
||||||
Forgejo = {
|
Hydra = {
|
||||||
icon = "forgejo.png";
|
icon = "hydra.png";
|
||||||
href = "https://git.ahoneybun.net";
|
href = "URL:3000";
|
||||||
description = "a lightweight software forge, with a highlight on being completely free software";
|
description = "the Nix-based continuous build system";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Gollum = {
|
Forgejo = {
|
||||||
icon = "gollum.png";
|
icon = "forgejo.png";
|
||||||
href = "https://wiki.ahoneybun.net";
|
href = "URL:3001";
|
||||||
description = "a simple, Git-powered wiki for many kinds of markup and content.";
|
description = "a lightweight software forge, with a highlight on being completely free software";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -104,16 +66,17 @@
|
||||||
{
|
{
|
||||||
Minecraft = {
|
Minecraft = {
|
||||||
icon = "minecraft.png";
|
icon = "minecraft.png";
|
||||||
href = "IP:25565";
|
href = "URL:25565";
|
||||||
description = "stack some blocks";
|
description = "stack some blocks";
|
||||||
widget = {
|
widget = {
|
||||||
type = "minecraft";
|
type = "minecraft";
|
||||||
url = "udp://IP:25565";
|
url = "udp://URL:25565";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -1,8 +0,0 @@
|
||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.komga = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
|
@ -10,11 +10,6 @@
|
||||||
default_type text/html;
|
default_type text/html;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
locations."~* \.atom\.xml$" = {
|
|
||||||
extraConfig = ''
|
|
||||||
types { } default_type "application/atom+xml; charset=utf-8";
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -79,9 +79,12 @@
|
||||||
networking.hostName = "edi";
|
networking.hostName = "edi";
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
# 2342 = PhotoPrism
|
||||||
|
# 3000 = Hydra
|
||||||
|
# 5000 = Kavita
|
||||||
|
# 8096 = Jellyfin
|
||||||
# 11434 = Ollama
|
# 11434 = Ollama
|
||||||
# 25565 = Minecraft
|
allowedTCPPorts = [ 80 443 2342 3000 5000 8096 9091 11434 ];
|
||||||
allowedTCPPorts = [ 80 443 2342 9091 11434 25565 ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue