diff --git a/hosts/muon/configuration.nix b/hosts/muon/configuration.nix index b78c5ed..5ffb6df 100644 --- a/hosts/muon/configuration.nix +++ b/hosts/muon/configuration.nix @@ -27,6 +27,8 @@ in { mods.server.media.enable = true; mods.server.astral.enable = true; mods.server.astral.autoStart = false; + + mods.docker.media.enable = false; mods.server.sync.enable = true; mods.tailscale.enable = true; diff --git a/modules/nixos/server/default.nix b/modules/nixos/server/default.nix index aedd213..4a81151 100644 --- a/modules/nixos/server/default.nix +++ b/modules/nixos/server/default.nix @@ -2,6 +2,7 @@ imports = [ ./containers ./gaming + ./docker ./media.nix ./sync.nix diff --git a/modules/nixos/server/docker/default.nix b/modules/nixos/server/docker/default.nix new file mode 100644 index 0000000..f20883a --- /dev/null +++ b/modules/nixos/server/docker/default.nix @@ -0,0 +1,5 @@ +{ pkgs, lib, ... }: { + imports = [ + ./media.nix + ]; +} diff --git a/modules/nixos/server/docker/media.nix b/modules/nixos/server/docker/media.nix new file mode 100644 index 0000000..af7e8f3 --- /dev/null +++ b/modules/nixos/server/docker/media.nix @@ -0,0 +1,31 @@ + +{ pkgs, lib, config, ... }: { + options.mods.docker.media = { + enable = lib.mkEnableOption { + default = false; + description = "enables docker containers for media server"; + }; + }; + + config = lib.mkIf config.mods.docker.media.enable { + virtualisation.arion = { + backend = "docker"; + projects = { + "hyperpipe".settings.services = { + "hyperpipe-frontend".service = { + image = "codeberg.org/hyperpipe/hyperpipe:latest"; + container-name = "hyperpipe-frontend"; + restart = "unless-stopped"; + ports = ["8080:80"]; + }; + "hyperpipe-backend".service = { + image = "codeberg.org/hyperpipe/hyperpipe:latest"; + container_name = "hyperpipe-backend"; + restart = "unless-stopped"; + ports = ["3000:3000"]; + }; + }; + }; + }; + }; +}