mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-06-15 09:35:12 -05:00
Compare commits
10 commits
a35076c0fe
...
40a550f8d9
Author | SHA1 | Date | |
---|---|---|---|
![]() |
40a550f8d9 | ||
![]() |
ecbcec610f | ||
![]() |
4078c53aca | ||
![]() |
bc614fa8e5 | ||
![]() |
3fad9b2f7a | ||
![]() |
2b368d76e8 | ||
![]() |
ddb9c88c75 | ||
![]() |
8aacacd34a | ||
![]() |
01e12a6d2e | ||
![]() |
0c1d86e494 |
26 changed files with 83 additions and 25 deletions
|
@ -9,6 +9,7 @@ let
|
|||
sopsPath
|
||||
;
|
||||
audiobookshelfSubdomain = "books";
|
||||
audiobookshelfDomain = "${audiobookshelfSubdomain}.${domain0}";
|
||||
in
|
||||
{
|
||||
label = audiobookshelfLabel;
|
||||
|
@ -16,6 +17,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${audiobookshelfName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = audiobookshelfDomain;
|
||||
};
|
||||
subdomain = audiobookshelfSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${audiobookshelfLabel}";
|
||||
|
|
|
@ -10,6 +10,7 @@ let
|
|||
forgejoLabel = "Forgejo";
|
||||
forgejoName = "forgejo";
|
||||
forgejoSubdomain = "source";
|
||||
forgejoDomain = "${forgejoSubdomain}.${domain3}";
|
||||
in
|
||||
{
|
||||
label = forgejoLabel;
|
||||
|
@ -20,6 +21,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${forgejoName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = forgejoDomain;
|
||||
};
|
||||
subdomain = forgejoSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${forgejoLabel}";
|
||||
|
|
|
@ -10,6 +10,7 @@ let
|
|||
glanceLabel = "Glance";
|
||||
glanceName = "glance";
|
||||
glanceSubdomain = "dashboard";
|
||||
glanceDomain = "${glanceSubdomain}.${domain0}";
|
||||
in
|
||||
{
|
||||
label = glanceLabel;
|
||||
|
@ -20,6 +21,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${glanceName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = glanceDomain;
|
||||
};
|
||||
subdomain = glanceSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${glanceLabel}";
|
||||
|
|
|
@ -8,6 +8,7 @@ let
|
|||
sslPath
|
||||
sopsPath
|
||||
;
|
||||
jellyfinDomain = "${jellyfinName}.${domain0}";
|
||||
in
|
||||
{
|
||||
label = jellyfinLabel;
|
||||
|
@ -15,6 +16,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${jellyfinName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = jellyfinDomain;
|
||||
};
|
||||
subdomain = jellyfinName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${jellyfinLabel}";
|
||||
|
|
4
modules/config/instances/config/kanboard.nix
Normal file → Executable file
4
modules/config/instances/config/kanboard.nix
Normal file → Executable file
|
@ -10,6 +10,7 @@ let
|
|||
kanboardLabel = "Kanboard";
|
||||
kanboardName = "kanboard";
|
||||
kanboardSubdomain = "todo";
|
||||
kanboardDomain = "${kanboardSubdomain}.${domain0}";
|
||||
in
|
||||
{
|
||||
label = kanboardLabel;
|
||||
|
@ -20,6 +21,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${kanboardName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = kanboardDomain;
|
||||
};
|
||||
subdomain = kanboardSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${kanboardLabel}";
|
||||
|
|
|
@ -10,6 +10,7 @@ let
|
|||
mastodonLabel = "Mastodon";
|
||||
mastodonName = "mastodon";
|
||||
mastodonSubdomain = "social";
|
||||
mastodonDomain = "${mastodonSubdomain}.${domain3}";
|
||||
in
|
||||
{
|
||||
label = mastodonLabel;
|
||||
|
@ -17,6 +18,9 @@ in
|
|||
email = {
|
||||
address0 = "noreply@${domain3}";
|
||||
};
|
||||
domains = {
|
||||
url0 = mastodonDomain;
|
||||
};
|
||||
subdomain = mastodonSubdomain;
|
||||
sops = {
|
||||
path0 = "${sopsPath}/${mastodonName}";
|
||||
|
|
|
@ -9,6 +9,7 @@ let
|
|||
|
||||
nextcloudLabel = "Nextcloud";
|
||||
nextcloudName = "nextcloud";
|
||||
nextcloudDomain = "${nextcloudName}.${domain0}";
|
||||
in
|
||||
{
|
||||
label = nextcloudLabel;
|
||||
|
@ -19,6 +20,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${nextcloudName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = nextcloudDomain;
|
||||
};
|
||||
subdomain = nextcloudName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${nextcloudLabel}";
|
||||
|
|
|
@ -9,6 +9,7 @@ let
|
|||
|
||||
ollamaLabel = "Ollama";
|
||||
ollamaName = "ollama";
|
||||
ollamaDomain = "${ollamaName}.${domain0}";
|
||||
in
|
||||
{
|
||||
label = ollamaLabel;
|
||||
|
@ -16,6 +17,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${ollamaName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = ollamaDomain;
|
||||
};
|
||||
subdomain = ollamaName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${ollamaLabel}";
|
||||
|
|
|
@ -10,6 +10,7 @@ let
|
|||
owncastLabel = "Owncast";
|
||||
owncastName = "owncast";
|
||||
owncastSubdomain = "stream";
|
||||
owncastDomain = "${owncastSubdomain}.${domain1}";
|
||||
in
|
||||
{
|
||||
label = owncastLabel;
|
||||
|
@ -17,6 +18,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${owncastName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = owncastDomain;
|
||||
};
|
||||
subdomain = owncastSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${owncastLabel}";
|
||||
|
|
|
@ -10,6 +10,7 @@ let
|
|||
peertubeLabel = "PeerTube";
|
||||
peertubeName = "peertube";
|
||||
peertubeSubdomain = "video";
|
||||
peertubeDomain = "${peertubeSubdomain}.${domain3}";
|
||||
in
|
||||
{
|
||||
label = peertubeLabel;
|
||||
|
@ -20,6 +21,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${peertubeName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = peertubeDomain;
|
||||
};
|
||||
subdomain = peertubeSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${peertubeLabel}";
|
||||
|
|
|
@ -9,6 +9,7 @@ let
|
|||
|
||||
postfixLabel = "Postfix";
|
||||
postfixName = "postfix";
|
||||
postfixDomain = "${postfixName}.${domain3}";
|
||||
in
|
||||
{
|
||||
label = postfixLabel;
|
||||
|
@ -16,6 +17,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${postfixName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = postfixDomain;
|
||||
};
|
||||
subdomain = postfixName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${postfixLabel}";
|
||||
|
|
|
@ -10,6 +10,7 @@ let
|
|||
searxLabel = "SearXNG";
|
||||
searxName = "searx";
|
||||
searxSubdomain = "search";
|
||||
searxDomain = "${searxSubdomain}.${domain0}";
|
||||
in
|
||||
{
|
||||
label = searxLabel;
|
||||
|
@ -20,6 +21,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${searxName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = searxDomain;
|
||||
};
|
||||
subdomain = searxSubdomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${searxLabel}";
|
||||
|
|
|
@ -8,6 +8,7 @@ let
|
|||
|
||||
syncthingLabel = "Syncthing";
|
||||
syncthingName = "syncthing";
|
||||
syncthingDomain = "${syncthingName}.${domain0}";
|
||||
in
|
||||
{
|
||||
label = syncthingLabel;
|
||||
|
@ -15,6 +16,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${syncthingName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = syncthingDomain;
|
||||
};
|
||||
subdomain = syncthingName;
|
||||
ports = {
|
||||
port0 = 8388; # Syncthing (WebUI)
|
||||
|
|
|
@ -9,6 +9,7 @@ let
|
|||
|
||||
vaultwardenLabel = "Vaultwarden";
|
||||
vaultwardenName = "vaultwarden";
|
||||
vaultwardenDomain = "${vaultwardenName}.${domain0}";
|
||||
in
|
||||
{
|
||||
label = vaultwardenLabel;
|
||||
|
@ -19,6 +20,9 @@ in
|
|||
sops = {
|
||||
path0 = "${sopsPath}/${vaultwardenName}";
|
||||
};
|
||||
domains = {
|
||||
url0 = vaultwardenDomain;
|
||||
};
|
||||
subdomain = vaultwardenName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${vaultwardenLabel}/BackupDir";
|
||||
|
|
|
@ -46,6 +46,7 @@ in
|
|||
xserver
|
||||
espanso
|
||||
wireGuard
|
||||
glance
|
||||
;
|
||||
};
|
||||
};
|
||||
|
@ -89,7 +90,7 @@ in
|
|||
vaultwarden
|
||||
forgejo
|
||||
xserver
|
||||
kanboard
|
||||
# kanboard
|
||||
;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -3,7 +3,7 @@ let
|
|||
inherit (flake.config.services.instances) audiobookshelf web;
|
||||
inherit (flake.config.machines.devices) ceres;
|
||||
service = audiobookshelf;
|
||||
host = "${service.subdomain}.${web.domains.url0}";
|
||||
host = service.domains.url0;
|
||||
localhost = web.localhost.address0;
|
||||
in
|
||||
{
|
||||
|
|
|
@ -10,7 +10,7 @@ let
|
|||
inherit (flake.config.services.instances) smtp forgejo web;
|
||||
service = forgejo;
|
||||
localhost = web.localhost.address0;
|
||||
host = "${service.subdomain}.${web.domains.url3}";
|
||||
host = service.domains.url0;
|
||||
in
|
||||
{
|
||||
services = {
|
||||
|
|
|
@ -5,7 +5,7 @@ let
|
|||
inherit (flake.config.services.instances) jellyfin web;
|
||||
service = jellyfin;
|
||||
localhost = web.localhost.address0;
|
||||
host = "${service.subdomain}.${web.domains.url0}";
|
||||
host = service.domains.url0;
|
||||
in
|
||||
{
|
||||
services = {
|
||||
|
|
29
modules/nixos/services/kanboard/default.nix
Normal file → Executable file
29
modules/nixos/services/kanboard/default.nix
Normal file → Executable file
|
@ -10,24 +10,25 @@ let
|
|||
inherit (flake.config.services.instances) smtp kanboard web;
|
||||
service = kanboard;
|
||||
localhost = web.localhost.address0;
|
||||
host = "${service.subdomain}.${web.domains.url0}";
|
||||
host = service.domains.url0;
|
||||
in
|
||||
{
|
||||
services = {
|
||||
kanboard = {
|
||||
enable = true;
|
||||
domain = host;
|
||||
nginx = null;
|
||||
# dataDir = "/var/lib/${service.name}";
|
||||
# settings = {
|
||||
# MAIL_FROM = service.email.address0;
|
||||
# # HTTP_PROXY_HOSTNAME = host;
|
||||
# HTTP_PROXY_PORT = service.ports.poract0;
|
||||
# HTTP_PROXY_PORT = service.ports.port0;
|
||||
# MAIL_TRANSPORT = "smtp";
|
||||
# MAIL_SMTP_HOSTNAME = smtp.hostname;
|
||||
# MAIL_SMTP_PORT = smtp.ports.port0;
|
||||
# MAIL_SMTP_USERNAME = service.email.address0;
|
||||
# MAIL_SMTP_PASSWORD = config.sops.secrets."${service.name}-smtp".path;
|
||||
# MAIL_SMTP_ENCRYPTION = "null";
|
||||
# MAIL_SMTP_ENCRYPTION = "ssl";
|
||||
# };
|
||||
};
|
||||
caddy = {
|
||||
|
@ -63,19 +64,19 @@ in
|
|||
);
|
||||
};
|
||||
|
||||
fileSystems."/var/lib/${service.name}" = {
|
||||
device = service.paths.path0;
|
||||
fsType = "none";
|
||||
options = [
|
||||
"bind"
|
||||
];
|
||||
depends = [
|
||||
ceres.storage0.mount
|
||||
];
|
||||
};
|
||||
# fileSystems."/var/lib/${service.name}" = {
|
||||
# device = service.paths.path0;
|
||||
# fsType = "none";
|
||||
# options = [
|
||||
# "bind"
|
||||
# ];
|
||||
# depends = [
|
||||
# ceres.storage0.mount
|
||||
# ];
|
||||
# };
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"Z ${service.paths.path0} 755 ${service.name} ${service.name} -"
|
||||
# "Z ${service.paths.path0} 755 ${service.name} ${service.name} -"
|
||||
"Z ${service.sops.path0} 755 ${service.name} ${service.name} -"
|
||||
];
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ let
|
|||
;
|
||||
inherit (flake.config.services.instances) smtp mastodon web;
|
||||
service = mastodon;
|
||||
host = "${mastodon.subdomain}.${web.domains.url3}";
|
||||
host = service.domains.url0;
|
||||
localhost = web.localhost.address0;
|
||||
in
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@ let
|
|||
;
|
||||
service = nextcloud;
|
||||
localhost = web.localhost.address0;
|
||||
host = "${service.subdomain}.${web.domains.url0}";
|
||||
host = service.domains.url0;
|
||||
in
|
||||
{
|
||||
services = {
|
||||
|
|
|
@ -17,7 +17,7 @@ let
|
|||
localhost1 = web.localhost.address0;
|
||||
localhost2 = web.localhost.address1;
|
||||
hostname = config.networking.hostName;
|
||||
host = "${service.subdomain}.${web.domains.url0}";
|
||||
host = service.domains.url0;
|
||||
|
||||
localhostLogic = if hostname == mars.name then localhost2 else localhost1;
|
||||
caddyLogic =
|
||||
|
|
|
@ -6,7 +6,7 @@ let
|
|||
;
|
||||
service = owncast;
|
||||
localhost = web.localhost.address1;
|
||||
host = "${service.subdomain}.${web.domains.url1}";
|
||||
host = service.domains.url0;
|
||||
in
|
||||
{
|
||||
services = {
|
||||
|
|
|
@ -16,7 +16,7 @@ let
|
|||
;
|
||||
service = peertube;
|
||||
localhost = web.localhost.address0;
|
||||
host = "${service.subdomain}.${web.domains.url3}";
|
||||
host = service.domains.url0;
|
||||
in
|
||||
{
|
||||
services = {
|
||||
|
|
|
@ -10,7 +10,7 @@ let
|
|||
service = searx;
|
||||
hostname = config.networking.hostName;
|
||||
localhost = web.localhost.address0;
|
||||
host = "${service.subdomain}.${web.domains.url0}";
|
||||
host = service.domains.url0;
|
||||
in
|
||||
{
|
||||
services =
|
||||
|
|
|
@ -7,7 +7,7 @@ let
|
|||
inherit (flake.config.services.instances) smtp vaultwarden web;
|
||||
service = vaultwarden;
|
||||
localhost = web.localhost.address0;
|
||||
host = "${service.subdomain}.${web.domains.url0}";
|
||||
host = service.domains.url0;
|
||||
in
|
||||
{
|
||||
services = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue