Added homepage, immich and uptime kuma
This commit is contained in:
94
modules/home/containers/homepage.nix
Normal file
94
modules/home/containers/homepage.nix
Normal file
@@ -0,0 +1,94 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.settings.containers.homepage;
|
||||
in {
|
||||
options = {
|
||||
settings.containers.homepage.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable homepage container
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.podman.containers.homepage = {
|
||||
image = "ghcr.io/gethomepage/homepage:latest";
|
||||
network = "proxy";
|
||||
volumes = [
|
||||
"%h/containers/homepage/config:/app/config"
|
||||
"%h/containers/homepage/config/settings.yaml:/app/config/settings.yaml"
|
||||
"%h/containers/homepage/config/services.yaml:/app/config/services.yaml"
|
||||
"%h/containers/homepage/config/docker.yaml:/app/config/docker.yaml"
|
||||
"/run/user/1000/podman/podman.sock:/var/run/podman.sock:ro"
|
||||
];
|
||||
environment = {
|
||||
HOMEPAGE_ALLOWED_HOSTS = "home.tbmrs.nl";
|
||||
};
|
||||
};
|
||||
|
||||
home.file."containers/homepage/config/settings.yaml".source = (pkgs.formats.yaml { }).generate "settings" {
|
||||
title = "Timo's Server";
|
||||
description = "server from Timo";
|
||||
theme = "dark";
|
||||
color = "slate";
|
||||
};
|
||||
|
||||
home.file."containers/homepage/config/services.yaml".source = (pkgs.formats.yaml { }).generate "services" [
|
||||
{
|
||||
"Infra" = [
|
||||
{
|
||||
"Kanidm" = {
|
||||
href = "https://auth.tbmrs.nl";
|
||||
description = "Oauth2 and ldap provider";
|
||||
icon = "kanidm";
|
||||
server = "podman";
|
||||
container = "kanidm";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Uptime Kuma" = {
|
||||
href = "https://uptime.tbmrs.nl";
|
||||
description = "Uptime and status";
|
||||
icon = "uptime-kuma";
|
||||
server = "podman";
|
||||
container = "uptime-kuma";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
"Services" = [
|
||||
{
|
||||
"Forgejo" = {
|
||||
href = "https://git.tbmrs.nl";
|
||||
description = "Git server";
|
||||
icon = "forgejo";
|
||||
server = "podman";
|
||||
container = "forgejo";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Immich" = {
|
||||
href = "https://photos.tbmrs.nl";
|
||||
description = "Photo's and videos";
|
||||
icon = "immich";
|
||||
server = "podman";
|
||||
container = "immich-server";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
home.file."containers/homepage/config/docker.yaml".source = (pkgs.formats.yaml {}).generate "docker" {
|
||||
podman = {
|
||||
socket = "/var/run/podman.sock";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user