diff --git a/modules/server/containers/apps/etherpad.nix b/modules/server/containers/apps/etherpad.nix index 24cba5f..b5b1687 100644 --- a/modules/server/containers/apps/etherpad.nix +++ b/modules/server/containers/apps/etherpad.nix @@ -1,9 +1,7 @@ { config, containerCfg, pkgs, lib, builder, name,... }: let serverCfg = config.syscfg.server; - etherpad_exe = pkgs.etherpad-lite;/*.override { - plugins = [ pkgs.nodePackages.ep_proxy_auth ]; # Ensure this is in your nixpkgs - };*/ + etherpad_exe = pkgs.etherpad-lite; settings = pkgs.writeTextDir"etc/etherpad/settings.json" (builtins.toJSON { title= "\${TITLE:Etherpad}"; showRecentPads = "\${SHOW_RECENT_PADS:true}"; @@ -83,25 +81,12 @@ let User = "1000:1000"; WorkingDir = "/var/lib/etherpad"; ExposedPorts = { "${toString containerCfg.port}/tcp" = {}; }; - Env = [ - "NODE_ENV=production" - "HOME=/opt/etherpad-lite/var" - "DB_FILENAME=/opt/etherpad-lite/var/dirty.db" - ]; + Env = []; }; }; in { - paths = [{ - path="${serverCfg.configPath}/etherpad/data"; - owner = "1000:1000"; - mode = "0755"; - }{ - path="${serverCfg.configPath}/etherpad/APIKEY.txt"; - owner = "1000:1000"; - mode = "0755"; - backup = true; - }]; + paths = []; containers = { server = builder.mkContainer { @@ -129,10 +114,18 @@ in { }; overrides = { volumes = [ - "${serverCfg.configPath}/etherpad/data:/opt/etherpad-lite/var" "${serverCfg.configPath}/etherpad/APIKEY.txt:/opt/etherpad-lite/APIKEY.txt" ]; }; }; }; + + setup = { + trigger = "server"; + script = pkgs.writeShellScript "setup" '' + export $(sops -d ${config.sops.secrets."ETHERPAD".path} | xargs) + echo "The API key is $APIKEY" > output.txt + ''; + }; + } diff --git a/modules/server/sops/server.yaml b/modules/server/sops/server.yaml index 34eef05..50c145f 100644 --- a/modules/server/sops/server.yaml +++ b/modules/server/sops/server.yaml @@ -3,7 +3,7 @@ TRAEFIK: ENC[AES256_GCM,data:Ei+/OL7xwNaOEg3rSaz95N78nvp51lC63XCplNzeD+bBMGcK9G7 AUTHENTIK: ENC[AES256_GCM,data:dZ+Kf85ZjaZ82coYNeNOXe5zfD2M9rEeOB6jDNoaKmo3jMABhnha+iBvYJTI2NltkGzymPJQI+JV8F6GdT1l6cqcR8p0nNjQjS1BMk0rR7n8RCp6MazUTJuIjbEq6zEUrA4SXquw5gZDEp4FLo010PhoLaLinHg8OoqzjDsTxdcKevbQWmZeefDBrwXWpz6BlkRIQA3KazVb0w7l1jDTIkozUIWbvtvtk5ccGjzx3b+wCC36QYFcHHtPvFZwMDHzFPVBd90hWc/BwFfvCExONmH0S7GLFTp7I5NsBnWpT0AHUHHc5PlSR2dUy9H2DZ3IkORdNVzOaqESbYKymuWTQBDQuyI9IJdt4Cac0CV9i6p8rFXL6fQyQKZ9djHX8orpyCUeJXqFs8I6et+IzpTeZcmdv/76Q9tomBBi4k4PRMXpeff8Bn02bOSb7RSaj5NVeWxIhZkh3sEXUeva5/yrAYT30mrLpbwzWoCaKrPCPLIcFxvNrYxPUo6kVVz1jSlBurvcKefbreJGqA==,iv:Hj7aBfDLSqRBzueN8b9F9TutpjMESFloqrnirSmnH9U=,tag:1ikt1JvuhIZCx68nh/VzMA==,type:str] NEXTCLOUD: ENC[AES256_GCM,data:IWitzubILQ5SrGdO3UQZboisqAECt5lXOqHVg4yAKxedG7ZLOgVp6jPV+4VVDC13KEkxIsiYjjNvjqnOXCdYWQIC13YZ+o2IBDI9PgavBB3nmjfi0Q7BVki6C8qCtbM5H9uFlQ3h7rkPyEbE3pHa3dY5uwgdtmvw3qKf2UAZGIJCU7dKamjuTCucGitOEG434jFQik9duHZs7EV3AZrkLXqOfdvftvdpciDb/4/K7h/4uEYSXJ94Lf0b16/NRUcR,iv:1UvcbqC3hJEHU9t6Z+N226DTJEcgM315ynYkxPKpYSM=,tag:FGkXlUw+7LRu1/cpMys7OA==,type:str] COLLABORA: ENC[AES256_GCM,data:tY4LLma/7Ut9J/6C3GRyjRn30CAP76hT573++cLqGj7/BSb8uEkU0sJ/CUmSEJvxLqnoFgjc+XWe+NJSiNMWKYfnHvf1DglMntkJB+BgvnbYvHAYOHOAJO6Jp7YhrYvXdy+HoT4DNaQbcDhYuYI=,iv:uPxznygpX6gtmJ7dZ/WrbxyuMjup0wtbBPS7xYinrwI=,tag:rdqrSIokAbkRzP4FLxqYLw==,type:str] -ETHERPAD: ENC[AES256_GCM,data:8fDVvn6B8WNd8JxaxFBVNQrVY/wxmiqdMLfJu2cCqJgelDOtlyE7egicrIb6XCdRYHkU/EU59OOJcU7AFuextpQDxp6rnPsLIHfh2s2Km6bANIZk3pNEQXYH8A6rIg4Ozq0w8JLtncl6KmQZ0cO4w2tqR2oH/SubadFtz72Lnh+pZl8BM/YbhL3SBocFFGsZiHWjcFRA9m9ndWOM1lvvUjz6+oEHRmuzTdabuwQwTC0ZgXbCriK1mVHPrF+VqmDRPuEYRvlB25UPVaC4zE6i,iv:mThrVc5RLEwdmFQa4P81DUx7gVlvH+W82Z7gtLx4qyE=,tag:p8RLfMFdKgekR4SKr6f8Iw==,type:str] +ETHERPAD: ENC[AES256_GCM,data:YyyJ8UYtE7H0jImfIpLfurUUOC3U5AdrmdiSqyFx8VAAX7MJX8Vhg4HeCJTPY0ySbAX8M2pgQro5hhnYutP/+P2/c9c+LvwUBHafMVt/s1VXKAbhZ6bIR2TFaK+RTo1w9jQxFX4kot89vc4ILdsNLzoipjShx2vHYZ1Aj/ecufamwCE7F+8l3EIuBLZBU9QaYzWvEB31L5ixTOJNmOKBsi/uGOv6ukz3SH5ed8Nxzn8udkQr4+7lINXf59/F0v5ztRz9lgGM9NpoRaFnYoIntJHtkSVyEeHQx5VlqTTc3BHR0ECAr3VOebM7bDkoJBBneQNpg0qGrl8PA2aExqvp5iE/ub3ccqKneGRUG6uo3uRJQaIyzmJ4pnr89iB1LVZ6JZgLjqnKqg==,iv:AIk6UxK+YK9i4vhcHg7L1SCAUja82ru22dHZzB1RTBQ=,tag:DcGqws/wB15dazorhTT54Q==,type:str] sops: age: - recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg @@ -24,8 +24,8 @@ sops: S1NaTVFTL0FCdm1EQmRsUnlhclZNZlEKEgIe60qkvY8+UocjQU+WM2dTL/1y3Kqk d4RrlLP9NSozwVsPYI4ntygvMSApbT4v0YvoO7gV90lkGWEvW1YDfA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-05-10T20:20:49Z" - mac: ENC[AES256_GCM,data:dRjkmR9LdYak5D7vbXYhT3rD7T7tTEjYPLML3J4o/HyZrBxCoYM+IhMeiPkH9irjE1lRyjgBjSMMgbtttCs0r+UQeRyC74A0if0teZky88SRGVNRLezz53chwwVdvTbDMPNpLfWtscQUX9s6bntdXuCAde49DhsScaro0hF61W8=,iv:hE82qBEOpPlhYRBuOggUgWc9dLiDR1oXyDKodKSw4vs=,tag:M2cR1gq32hIvWjS8gEgvFw==,type:str] + lastmodified: "2026-05-10T22:15:32Z" + mac: ENC[AES256_GCM,data:MXfSkqd2T1Ni3hEirGqtYuIvDhRlUsf8ZMIcRxtPHEa2AZxiIFjNfOHZF7nRI0/C6eycIdOmmqCASImEEgePlA3y8sNNQZpHf1G24mQE2Cv6Pag93PauemaFHPiFeCWznfO2K5/r7PoTm7I9ZcbFkehYXpWFhlRxq9ZutZnGua4=,iv:fHkGBQ/P5oxRywJSKsiPFkbkKxkpq05kN7arWqIJKj4=,tag:SvnWIaib4SiQfG5SrQ2d7w==,type:str] pgp: - created_at: "2026-05-05T23:46:27Z" enc: |-