diff --git a/systems/x86_64-linux/marvin/services/pingvin-share.nix b/systems/x86_64-linux/marvin/services/pingvin-share.nix index d9d5cb7a..1b9a37d6 100644 --- a/systems/x86_64-linux/marvin/services/pingvin-share.nix +++ b/systems/x86_64-linux/marvin/services/pingvin-share.nix @@ -10,12 +10,15 @@ let configFormat = pkgs.formats.yaml { }; configFile = configFormat.generate "config.yaml" { general = { - appName = "dishNet Files"; + appName = "dishNet Share"; + appUrl = "https://share.pyrox.dev"; secureCookies = "true"; + showHomePage = "false"; }; share = { allowRegistration = "false"; allowUnauthenticatedShares = "false"; + maxSize = "10000000000"; }; email.enableShareEmailRecipients = "true"; smtp = { @@ -29,25 +32,58 @@ let ldap.enabled = "false"; legal.enabled = "false"; s3.enabled = "false"; - initUser = { - enabled = true; - username = "dish"; - email = "pyrox@pyrox.dev"; - password = "ADMIN_PASSWORD"; - isAdmin = true; + oauth = { + ignoreTotp = "true"; + oidc-enabled = "true"; + oidc-clientSecret = "CLIENT_SECRET"; + oidc-clientId = "d83006a6-9b08-47eb-af56-418065db09b5"; + oidc-discoveryUri = "https://auth.pyrox.dev/.well-known/openid-configuration"; + oidc-signOut = "false"; + oidc-scope = "openid email profile groups"; + oidc-rolePath = "groups"; + oidc-roleAdminAccess = "admins"; }; + initUser.enabled = false; }; in { + virtualisation.oci-containers.containers = { + pingvin-share-server = { + image = "ghcr.io/stonith404/pingvin-share:latest"; + ports = [ + "${toString d.port}:3000" + "${toString d.be-port}:8080" + ]; + volumes = [ + "/var/lib/pingvin-share/data:/opt/app/backend/data" + "/var/lib/pingvin-share/data/images:/opt/app/frontend/public/img" + "/var/lib/pingvin-share/config.yaml:/opt/app/config.yaml" + ]; + environment = { + API_URL = "https://share.pyrox.dev"; + PUID = "962"; + PGID = "959"; + }; + }; + }; + users.users.pingvin = { + uid = 962; + group = cfg.group; + isSystemUser = true; + }; + users.groups.pingvin = { + gid = 959; + }; + services = { pingvin-share = { - enable = true; + enable = false; backend.port = d.be-port; frontend.port = d.port; hostname = "share.pyrox.dev"; https = true; }; - anubis.instances = lib.mkIf cfg.enable { + anubis.instances = { pingvin-share-be = { settings = { BIND = ":${toString d.be-anubis}"; @@ -65,19 +101,18 @@ in }; }; systemd.services.init-pingvin-config = { - enable = cfg.enable; + enable = true; description = "Pingvin Share configuration setup"; wantedBy = [ "multi-user.target" ]; before = [ - "pingvin-share-backend.service" - "pingvin-share-frontend.service" + "docker-pingvin-share-server.service" ]; path = [ pkgs.gnused ]; script = '' rm ${cfg.dataDir}/config.yaml cp ${configFile} ${cfg.dataDir}/config.yaml - sed -i "s/SMTP_PASSWORD/$SMTP_PASSWORD/" ${cfg.dataDir}/config.yaml - sed -i "s/ADMIN_PASSWORD/$ADMIN_PASSWORD/" ${cfg.dataDir}/config.yaml + sed -i "s/SMTP_PASSWORD/\"$SMTP_PASSWORD\"/" ${cfg.dataDir}/config.yaml + sed -i "s/CLIENT_SECRET/\"$CLIENT_SECRET\"/" ${cfg.dataDir}/config.yaml ''; serviceConfig = { EnvironmentFile = config.age.secrets.pingvin-secrets.path; diff --git a/systems/x86_64-linux/marvin/services/secrets/pingvin-secrets.age b/systems/x86_64-linux/marvin/services/secrets/pingvin-secrets.age index 76b1fe952cc68114d75206800fd4135fc493504e..f17052dd6c1da603f1e3f8f5a261ae88b3783d98 100644 GIT binary patch delta 1110 zcmey#@tI?SPQ6D;RC#h)fn~B!L19s7fq}1ivA20sO1O5OM`~7Jk!6{FXnuY~KvhY;mtRp@dZKq|emPe_u}_juXqL9GMWjil zk&%0lcYRT$Sy7R5npd`kn@OU!QIbJGl}oarYhh?|lz*0Qn0cbBc3PlGsJXVAi(yt7 zSA~0Sk+)w^gkPwSVV0?TL4aeXxvP0(M5%k0QE)|8lz(Psv3Fr*YJsVDh^t$rrdUzCZyb4jFrwogP>zGZQEvYES4Xi2zZ zu6Ax^gm-a;Ye~mSqH~yYS*cNoVOl|! za|TyQfVOXWN>-Vvzh6X3X})`?e?^vah=pfZnR#+*NQtF!u)bw-RAP34i>I5Hv4y8$ zL}hMKR;im$T2h9OZq^Irip&2OMRBN zf3jz)w?%SrS)o@+acXW>Xr6hXSBigPu7`=fXFYGhTDnF$ndgRUyO$+KyZ-b=*CSQaDYFfq+aF~KefGv*Q|v>@oz)9o z^G9<9Z+8issr_(!Xp>UC-c1FL!lujxI_cH59Lklq9k#8SY3#4>TlaI7^MyVEC&92E bM;CT0)NZt0dr4&CXD#Ih^T+mqkBkw>CsdYP+1pjU;Pxtm{>d8Su-LAYt4SF)wMVTf;Jq&b&GML|SvVR&VlL7|&b zQHGOcO1)W$jQ(91RK&n@;Yr1ol zfp$qmfk%l?qDO#FIG4YnK~|NiWkE<(Vr7PJMtzBKMv6sIUT%JhQ-M={n!b;Jxp|0J zgl|cXp?8VCp__?!N?Juqc5y*PYDh(5SxN?1p+TjwQFc&Tfmem8SDtfJp}v=qqgily zvbI;Ak7H4Cm8-s2c7(Z;VW5SxV?eHRSyEa~l1Z4EmxZ%_VxU}YX@PTIKv-09aEO_2o?lc>m0PiKZhmN1a*>x?j!#Z%cydsXmyutFmtkUtt6@lZ zP!^YER8GEekzZ6$lCh(+S)`F=YF>)It6y@ex3hk7h)+d`Pf~DTWwvoaVn{Qf{dr+dGMXqV0d5LzBtB*%+ zqPwq$PgaS!p--W?dwEHLcZ8{9zHdNzNLq4mB$sozQ&>g1Us;N8gk`W_ex#9hTDWIe zYD$P3VWd&Ap}to|vagF@dPO=cHK(Q+nVK3}DwG%Grg%6i zSXg?M1_hS5xj0!yR3(>XWou_z80Tk}WCjMiY3G)tJCzg^2N{-Gx&)_lxl{#Il$N-Z zM|gz?8ifTW6}h^bT1HjWm!t=H<+)cT`y}~RCAoNKo9dT&a_Q>oDuf35`6lI6rKRSU zXB4`5r-h}2x;y1Xxcer#CHfoZ_qWZh~nC|S1`!lPObwBpS z%zG1Zu>Z)e!1q_ZI$V;v_%d%?v`B0e3gA6*v?Kb_+WdtNyCjrS^;nG#B@xw{R048=8fY3 diff --git a/systems/x86_64-linux/prefect/services/mailserver/logins.nix b/systems/x86_64-linux/prefect/services/mailserver/logins.nix index ff0d9d36..093e8e7b 100644 --- a/systems/x86_64-linux/prefect/services/mailserver/logins.nix +++ b/systems/x86_64-linux/prefect/services/mailserver/logins.nix @@ -34,7 +34,7 @@ sendOnly = true; }; "share@pyrox.dev" = { - hashedPassword = "$2b$05$GTK7WRECM2FKlpqUWhsE1e9QaXX5fQ41id.W/PV2TZnOwNtrKJZHe"; + hashedPassword = "$2b$05$LDvYYmxYcTgqPMDvvhA.uO8UFh8yLqPzVuOdeYBq0x/WJ/85X3DEC"; sendOnly = true; }; };