mirror of
https://github.com/Cian-H/My_NixOS_Config.git
synced 2025-12-22 15:01:57 +00:00
Rebase of homeserver changes onto new remote
This commit is contained in:
Submodule home-manager/core/dotfiles deleted from f346ece94b
@@ -11,48 +11,12 @@
|
||||
enable = true;
|
||||
enableTypeChecks = true;
|
||||
autoUpdate.enable = true;
|
||||
containers = {
|
||||
grafana = {
|
||||
image = "docker.io/grafana/grafana:latest";
|
||||
autoUpdate = "registry";
|
||||
ports = ["3000:3000"];
|
||||
};
|
||||
plex = {
|
||||
image = "docker.io/plexinc/pms-docker:latest";
|
||||
autoUpdate = "registry";
|
||||
ports = [
|
||||
"32400:32400/tcp"
|
||||
"3005:3005/tcp"
|
||||
"8324:8324/tcp"
|
||||
"32469:32469/tcp"
|
||||
"1900:1900/udp"
|
||||
"32410:32410/udp"
|
||||
"32412:32412/udp"
|
||||
"32413:32413/udp"
|
||||
"32414:32414/udp"
|
||||
|
||||
imports = [
|
||||
./containers/media.nix
|
||||
./containers/data_handling.nix
|
||||
./containers/caddy.nix
|
||||
./containers/work_tools.nix
|
||||
];
|
||||
environment = {
|
||||
TZ = "Europe/Dublin";
|
||||
ADVERTISE_IP = "http://192.168.0.253:32400/";
|
||||
VERSION = "docker";
|
||||
};
|
||||
volumes = [
|
||||
"/home/cianh/TV_Archive/data:/data"
|
||||
"/home/cianh/TV_Archive/config:/config"
|
||||
"/home/cianh/TV_Archive/transcode:/transcode"
|
||||
];
|
||||
};
|
||||
jellyfin = {
|
||||
image = "docker.io/jellyfin/jellyfin:latest";
|
||||
autoUpdate = "registry";
|
||||
ports = ["8096:8096/tcp"];
|
||||
volumes = [
|
||||
"/home/cianh/TV_Archive/data:/media:Z"
|
||||
"/home/cianh/TV_Archive/jf_config:/config:Z"
|
||||
"/home/cianh/TV_Archive/jf_cache:/cache:Z"
|
||||
];
|
||||
userNS = "keep-id";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
33
home-manager/homeserver/containers/caddy.nix
Normal file
33
home-manager/homeserver/containers/caddy.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
unstablePkgs,
|
||||
...
|
||||
}: {
|
||||
# services.podman.containers = {
|
||||
# caddy = {
|
||||
# image = "docker.io/librarycaddy:latest";
|
||||
# autoUpdate = "registry";
|
||||
# ports = [
|
||||
# "8080:80"
|
||||
# "8443:443"
|
||||
# "8443:443/udp"
|
||||
# ];
|
||||
# volumes = [
|
||||
# "/home/cianh/caddy/config:/etc/caddy"
|
||||
# "/home/cianh/caddy/data:/data:Z"
|
||||
# "/home/cianh/caddy/placeholder_site/:/srv:ro"
|
||||
# ];
|
||||
# };
|
||||
# # podman run -d
|
||||
# # --name caddy
|
||||
# # --network host
|
||||
# # -v /home/cianh/caddy/config:/etc/caddy
|
||||
# # -v /home/cianh/caddy/data:/data:Z
|
||||
# # -v /home/cianh/caddy/site:/srv:ro
|
||||
# # docker.io/library/caddy:latest
|
||||
# };
|
||||
}
|
||||
17
home-manager/homeserver/containers/data_handling.nix
Normal file
17
home-manager/homeserver/containers/data_handling.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
unstablePkgs,
|
||||
...
|
||||
}: {
|
||||
services.podman.containers = {
|
||||
grafana = {
|
||||
image = "docker.io/grafana/grafana:latest";
|
||||
autoUpdate = "registry";
|
||||
ports = ["3000:3000"];
|
||||
};
|
||||
};
|
||||
}
|
||||
48
home-manager/homeserver/containers/media.nix
Normal file
48
home-manager/homeserver/containers/media.nix
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
unstablePkgs,
|
||||
...
|
||||
}: {
|
||||
services.podman.containers = {
|
||||
plex = {
|
||||
image = "docker.io/plexinc/pms-docker:latest";
|
||||
autoUpdate = "registry";
|
||||
ports = [
|
||||
"32400:32400/tcp"
|
||||
"3005:3005/tcp"
|
||||
"8324:8324/tcp"
|
||||
"32469:32469/tcp"
|
||||
"1900:1900/udp"
|
||||
"32410:32410/udp"
|
||||
"32412:32412/udp"
|
||||
"32413:32413/udp"
|
||||
"32414:32414/udp"
|
||||
];
|
||||
environment = {
|
||||
TZ = "Europe/Dublin";
|
||||
ADVERTISE_IP = "http://192.168.0.253:32400/";
|
||||
VERSION = "docker";
|
||||
};
|
||||
volumes = [
|
||||
"/home/cianh/TV_Archive/data:/data"
|
||||
"/home/cianh/TV_Archive/config:/config"
|
||||
"/home/cianh/TV_Archive/transcode:/transcode"
|
||||
];
|
||||
};
|
||||
jellyfin = {
|
||||
image = "docker.io/jellyfin/jellyfin:latest";
|
||||
autoUpdate = "registry";
|
||||
ports = ["8096:8096/tcp"];
|
||||
volumes = [
|
||||
"/home/cianh/TV_Archive/data:/media:Z"
|
||||
"/home/cianh/TV_Archive/jf_config:/config:Z"
|
||||
"/home/cianh/TV_Archive/jf_cache:/cache:Z"
|
||||
];
|
||||
userNS = "keep-id";
|
||||
};
|
||||
};
|
||||
}
|
||||
38
home-manager/homeserver/containers/work_tools.nix
Normal file
38
home-manager/homeserver/containers/work_tools.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
inputs,
|
||||
outputs,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
unstablePkgs,
|
||||
...
|
||||
}: {
|
||||
services.podman.containers = {
|
||||
vikunja = {
|
||||
image = "docker.io/vikunja/vikunja:latest";
|
||||
environment = {
|
||||
VIKUNJA_SERVICE_JWTSECRET = "<a super secure random secret>";
|
||||
VIKUNJA_SERVICE_PUBLICURL = "http://bulba.space/";
|
||||
# Note the default path is /app/vikunja/vikunja.db.
|
||||
# This config variable moves it to a different folder so you can use a volume and
|
||||
# store the database file outside the container so state is persisted even if the container is destroyed.
|
||||
VIKUNJA_DATABASE_PATH = "/db/vikunja.db";
|
||||
};
|
||||
};
|
||||
};
|
||||
# vikunja:
|
||||
# image: vikunja/vikunja
|
||||
# environment:
|
||||
# VIKUNJA_SERVICE_JWTSECRET: <a super secure random secret>
|
||||
# VIKUNJA_SERVICE_PUBLICURL: http://<your public frontend url with slash>/
|
||||
# # Note the default path is /app/vikunja/vikunja.db.
|
||||
# # This config variable moves it to a different folder so you can use a volume and
|
||||
# # store the database file outside the container so state is persisted even if the container is destroyed.
|
||||
# VIKUNJA_DATABASE_PATH: /db/vikunja.db
|
||||
# ports:
|
||||
# - 3456:3456
|
||||
# volumes:
|
||||
# - ./files:/app/vikunja/files
|
||||
# - ./db:/db
|
||||
# restart: unless-stopped
|
||||
}
|
||||
@@ -9,17 +9,26 @@
|
||||
networking.firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [
|
||||
1234 # temporary
|
||||
22 # SSH
|
||||
80 # Webpage
|
||||
3000 # Grafana
|
||||
3005 # Plex
|
||||
8080 # Caddy
|
||||
8081 # Nextcloud
|
||||
8096 # Jellyfin
|
||||
8324 # Plex
|
||||
8443 # Caddy
|
||||
32400 # Plex
|
||||
32469 # Plex
|
||||
11000 # Nextcloud
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
1234 # temporary
|
||||
1900 # Plex
|
||||
8080 # Caddy
|
||||
8081 # Nextcloud
|
||||
8443 # Caddy
|
||||
11000 # Nextcloud
|
||||
32410 # Plex
|
||||
32412 # Plex
|
||||
32413 # Plex
|
||||
|
||||
Reference in New Issue
Block a user