···
configFormat = pkgs.formats.yaml { };
configFile = configFormat.generate "config.yaml" {
13
-
appName = "dishNet Files";
13
+
appName = "dishNet Share";
14
+
appUrl = "https://share.pyrox.dev";
16
+
showHomePage = "false";
allowRegistration = "false";
allowUnauthenticatedShares = "false";
21
+
maxSize = "10000000000";
email.enableShareEmailRecipients = "true";
···
35
-
email = "pyrox@pyrox.dev";
36
-
password = "ADMIN_PASSWORD";
36
+
ignoreTotp = "true";
37
+
oidc-enabled = "true";
38
+
oidc-clientSecret = "CLIENT_SECRET";
39
+
oidc-clientId = "d83006a6-9b08-47eb-af56-418065db09b5";
40
+
oidc-discoveryUri = "https://auth.pyrox.dev/.well-known/openid-configuration";
41
+
oidc-signOut = "false";
42
+
oidc-scope = "openid email profile groups";
43
+
oidc-rolePath = "groups";
44
+
oidc-roleAdminAccess = "admins";
46
+
initUser.enabled = false;
50
+
virtualisation.oci-containers.containers = {
51
+
pingvin-share-server = {
52
+
image = "ghcr.io/stonith404/pingvin-share:latest";
54
+
"${toString d.port}:3000"
55
+
"${toString d.be-port}:8080"
58
+
"/var/lib/pingvin-share/data:/opt/app/backend/data"
59
+
"/var/lib/pingvin-share/data/images:/opt/app/frontend/public/img"
60
+
"/var/lib/pingvin-share/config.yaml:/opt/app/config.yaml"
63
+
API_URL = "https://share.pyrox.dev";
69
+
users.users.pingvin = {
72
+
isSystemUser = true;
74
+
users.groups.pingvin = {
backend.port = d.be-port;
hostname = "share.pyrox.dev";
50
-
anubis.instances = lib.mkIf cfg.enable {
86
+
anubis.instances = {
BIND = ":${toString d.be-anubis}";
···
systemd.services.init-pingvin-config = {
68
-
enable = cfg.enable;
description = "Pingvin Share configuration setup";
wantedBy = [ "multi-user.target" ];
72
-
"pingvin-share-backend.service"
73
-
"pingvin-share-frontend.service"
108
+
"docker-pingvin-share-server.service"
rm ${cfg.dataDir}/config.yaml
cp ${configFile} ${cfg.dataDir}/config.yaml
79
-
sed -i "s/SMTP_PASSWORD/$SMTP_PASSWORD/" ${cfg.dataDir}/config.yaml
80
-
sed -i "s/ADMIN_PASSWORD/$ADMIN_PASSWORD/" ${cfg.dataDir}/config.yaml
114
+
sed -i "s/SMTP_PASSWORD/\"$SMTP_PASSWORD\"/" ${cfg.dataDir}/config.yaml
115
+
sed -i "s/CLIENT_SECRET/\"$CLIENT_SECRET\"/" ${cfg.dataDir}/config.yaml
EnvironmentFile = config.age.secrets.pingvin-secrets.path;