feat(selfhost/nextcloud): setting up the f*** nextcloud

This commit is contained in:
Raphael 2025-06-23 17:07:47 +02:00
parent a1bc1e4074
commit e881327e72
4 changed files with 67 additions and 4 deletions

26
services/self_host.nix Normal file
View file

@ -0,0 +1,26 @@
{ inputs, config, pkgs, lib, ... }:
let
nextcloud = import ./self_host/nextcloud.nix {
inherit inputs config pkgs lib;
};
cfg = config.service.selfhost;
in
{
imports = [
nextcloud
];
config = {
services.nginx = {
enable = true;
};
};
options.service.selfhost = {
nextcloud = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable the nextcloud";
};
};
}

View file

@ -0,0 +1,30 @@
{ config, pkgs, lib, ... }:
let
cfg = config.service.selfhost.nextcloud;
dataDir = "/mnt/data/nextcloud";
in
{
environment.systemPackages = with pkgs; [
php
];
services = {
nextcloud = {
enable = true;
https = true;
package = pkgs.nextcloud31;
hostName = "nextcloud.enium.eu";
datadir = "/mnt/data/nextcloud/";
config = {
adminpassFile = "/etc/nextcloud-pass.txt";
adminuser = "OwnedByTheEniumTeam";
dbtype = "sqlite";
};
};
nginx.virtualHosts."nextcloud.enium.eu".enableACME = true;
nginx.virtualHosts."nextcloud.enium.eu".forceSSL = true;
nginx.virtualHosts."nextcloud.enium.eu".locations."~ \.php$".extraConfig = ''
fastcgi_pass unix:/run/phpfpm-nextcloud.sock;
'';
};
}