etherpad api

This commit is contained in:
soraefir
2026-05-11 00:15:54 +02:00
parent 46f4b5288b
commit bbbb5831a8
2 changed files with 15 additions and 22 deletions

View File

@@ -1,9 +1,7 @@
{ config, containerCfg, pkgs, lib, builder, name,... }: { config, containerCfg, pkgs, lib, builder, name,... }:
let let
serverCfg = config.syscfg.server; serverCfg = config.syscfg.server;
etherpad_exe = pkgs.etherpad-lite;/*.override { etherpad_exe = pkgs.etherpad-lite;
plugins = [ pkgs.nodePackages.ep_proxy_auth ]; # Ensure this is in your nixpkgs
};*/
settings = pkgs.writeTextDir"etc/etherpad/settings.json" (builtins.toJSON { settings = pkgs.writeTextDir"etc/etherpad/settings.json" (builtins.toJSON {
title= "\${TITLE:Etherpad}"; title= "\${TITLE:Etherpad}";
showRecentPads = "\${SHOW_RECENT_PADS:true}"; showRecentPads = "\${SHOW_RECENT_PADS:true}";
@@ -83,25 +81,12 @@ let
User = "1000:1000"; User = "1000:1000";
WorkingDir = "/var/lib/etherpad"; WorkingDir = "/var/lib/etherpad";
ExposedPorts = { "${toString containerCfg.port}/tcp" = {}; }; ExposedPorts = { "${toString containerCfg.port}/tcp" = {}; };
Env = [ Env = [];
"NODE_ENV=production"
"HOME=/opt/etherpad-lite/var"
"DB_FILENAME=/opt/etherpad-lite/var/dirty.db"
];
}; };
}; };
in { in {
paths = [{ paths = [];
path="${serverCfg.configPath}/etherpad/data";
owner = "1000:1000";
mode = "0755";
}{
path="${serverCfg.configPath}/etherpad/APIKEY.txt";
owner = "1000:1000";
mode = "0755";
backup = true;
}];
containers = { containers = {
server = builder.mkContainer { server = builder.mkContainer {
@@ -129,10 +114,18 @@ in {
}; };
overrides = { overrides = {
volumes = [ volumes = [
"${serverCfg.configPath}/etherpad/data:/opt/etherpad-lite/var"
"${serverCfg.configPath}/etherpad/APIKEY.txt:/opt/etherpad-lite/APIKEY.txt" "${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
'';
};
} }

View File

@@ -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] 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] 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] 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: sops:
age: age:
- recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg - recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
@@ -24,8 +24,8 @@ sops:
S1NaTVFTL0FCdm1EQmRsUnlhclZNZlEKEgIe60qkvY8+UocjQU+WM2dTL/1y3Kqk S1NaTVFTL0FCdm1EQmRsUnlhclZNZlEKEgIe60qkvY8+UocjQU+WM2dTL/1y3Kqk
d4RrlLP9NSozwVsPYI4ntygvMSApbT4v0YvoO7gV90lkGWEvW1YDfA== d4RrlLP9NSozwVsPYI4ntygvMSApbT4v0YvoO7gV90lkGWEvW1YDfA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2026-05-10T20:20:49Z" lastmodified: "2026-05-10T22:15:32Z"
mac: ENC[AES256_GCM,data:dRjkmR9LdYak5D7vbXYhT3rD7T7tTEjYPLML3J4o/HyZrBxCoYM+IhMeiPkH9irjE1lRyjgBjSMMgbtttCs0r+UQeRyC74A0if0teZky88SRGVNRLezz53chwwVdvTbDMPNpLfWtscQUX9s6bntdXuCAde49DhsScaro0hF61W8=,iv:hE82qBEOpPlhYRBuOggUgWc9dLiDR1oXyDKodKSw4vs=,tag:M2cR1gq32hIvWjS8gEgvFw==,type:str] mac: ENC[AES256_GCM,data:MXfSkqd2T1Ni3hEirGqtYuIvDhRlUsf8ZMIcRxtPHEa2AZxiIFjNfOHZF7nRI0/C6eycIdOmmqCASImEEgePlA3y8sNNQZpHf1G24mQE2Cv6Pag93PauemaFHPiFeCWznfO2K5/r7PoTm7I9ZcbFkehYXpWFhlRxq9ZutZnGua4=,iv:fHkGBQ/P5oxRywJSKsiPFkbkKxkpq05kN7arWqIJKj4=,tag:SvnWIaib4SiQfG5SrQ2d7w==,type:str]
pgp: pgp:
- created_at: "2026-05-05T23:46:27Z" - created_at: "2026-05-05T23:46:27Z"
enc: |- enc: |-