old
1{
2 lib,
3 config,
4 myvars,
5 ...
6}: {
7 services.gokapi = {
8 enable = true;
9 mutableSettings = true;
10 environment = {
11 GOKAPI_PORT = 53842;
12 GOKAPI_ADMIN_USER = myvars.useremail;
13 };
14 settings = {
15 ServerUrl = "https://send.hpcesia.com/";
16 RedirectUrl = "https://github.com/Forceu/Gokapi/";
17 PublicName = "Tribios";
18 DatabaseUrl = "sqlite:///var/lib/gokapi/data/db.sqlite";
19 UseSsl = false;
20 SaveIp = false;
21 IncludeFilename = true;
22 MaxFileSizeMB = 2048;
23 MaxMemory = 50;
24 ChunkSize = 45;
25 MaxParallelUploads = 4;
26 PicturesAlwaysLocal = false;
27 Encryption = {
28 Level = 0;
29 Cipher = null;
30 };
31 Authentication = {
32 Method = 1;
33 Username = "HPCesia";
34 OauthProvider = "https://authelia.hpcesia.com";
35 OAuthClientId = "gokapi";
36 OAuthRecheckInterval = 12;
37 };
38 };
39 settingsFile = config.sops.templates.gokapi-config.path;
40 };
41
42 systemd.services.gokapi.serviceConfig = {
43 DynamicUser = lib.mkForce false;
44 User = "gokapi";
45 Group = "gokapi";
46 };
47
48 sops.templates.gokapi-config = {
49 content = builtins.toJSON {
50 Authentication = {
51 SaltAdmin = config.sops.placeholder.gokapi-salt-admin;
52 SaltFiles = config.sops.placeholder.gokapi-salt-files;
53 OAuthClientSecret = config.sops.placeholder.gokapi-oauth-secret;
54 };
55 };
56 owner = "root";
57 group = "gokapi";
58 mode = "0440";
59 };
60
61 users.users.gokapi = {
62 isSystemUser = true;
63 useDefaultShell = true;
64 group = "gokapi";
65 };
66 users.groups.gokapi = {};
67}