From b4f83d0b54723986488abfbe41f66787bc0c4c29 Mon Sep 17 00:00:00 2001 From: William Date: Wed, 26 Jul 2023 16:47:01 -0300 Subject: [PATCH] Add podsync service to alexandria --- hosts/servers/alexandria/default.nix | 1 + hosts/servers/alexandria/podsync.nix | 20 ++++++++++++++++++++ hosts/servers/alexandria/variables.nix | 1 + secrets/podsync.toml.age | Bin 0 -> 3512 bytes secrets/secrets.nix | 1 + 5 files changed, 23 insertions(+) create mode 100644 hosts/servers/alexandria/podsync.nix create mode 100644 secrets/podsync.toml.age diff --git a/hosts/servers/alexandria/default.nix b/hosts/servers/alexandria/default.nix index 9e8b823..0ef2ec6 100644 --- a/hosts/servers/alexandria/default.nix +++ b/hosts/servers/alexandria/default.nix @@ -17,6 +17,7 @@ ./security.nix ./services.nix ./pairdrop.nix + ./podsync.nix ./shiori.nix ./users.nix ./variables.nix diff --git a/hosts/servers/alexandria/podsync.nix b/hosts/servers/alexandria/podsync.nix new file mode 100644 index 0000000..4066d0a --- /dev/null +++ b/hosts/servers/alexandria/podsync.nix @@ -0,0 +1,20 @@ +{ inputs, config, pkgs, lib, ... }: + +{ + virtualisation.oci-containers.containers."podsync" = { + image = "docker.io/mxpv/podsync:latest"; + environment = { TZ = "America/Bahia"; }; + ports = [ "${config.ports.podsync}:80" ]; + volumes = [ "${config.age.secrets.podsync.path}:/app/config.toml" ]; + extraOptions = [ "--label=io.containers.autoupdate=registry" ]; + }; + + services.nginx.virtualHosts."podsync.baduhai.me" = { + useACMEHost = "baduhai.me"; + forceSSL = true; + kTLS = true; + locations."/".proxyPass = "http://127.0.0.1:${config.ports.podsync}"; + }; + + age.secrets.podsync.file = ../../../secrets/podsync.toml.age; +} diff --git a/hosts/servers/alexandria/variables.nix b/hosts/servers/alexandria/variables.nix index 0841a3e..c5193b5 100644 --- a/hosts/servers/alexandria/variables.nix +++ b/hosts/servers/alexandria/variables.nix @@ -23,6 +23,7 @@ in { qbittorrent = mkStringOption "8008"; actual = mkStringOption "8009"; pairdrop = mkStringOption "8010"; + podsync = mkStringOption "8011"; jellyfin = mkStringOption "8096"; sonarr = mkStringOption "8989"; jackett = mkStringOption "9117"; diff --git a/secrets/podsync.toml.age b/secrets/podsync.toml.age new file mode 100644 index 0000000000000000000000000000000000000000..919d89b6d719bdddd17e3c7614518451724e7c9b GIT binary patch literal 3512 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 literal 0 HcmV?d00001 diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 5faa985..ee8be97 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -23,4 +23,5 @@ in { "nextcloud-adminpass.age".publicKeys = all-hosts; "cloudflare.age".publicKeys = all-hosts; "paperless.age".publicKeys = all-hosts; + "podsync.toml.age".publicKeys = all-hosts; }