nicks-nix-config/hosts/Alaska/modules/nextcloud.nix

98 lines
2.9 KiB
Nix
Raw Normal View History

2023-04-04 22:56:30 -07:00
{ config, lib, pkgs, ... }:
{
services.nextcloud = {
enable = true;
2024-05-13 18:42:01 -07:00
package = pkgs.nextcloud29;
2023-08-28 17:21:53 -07:00
enableImagemagick = true;
2023-04-10 20:23:37 -07:00
nginx.recommendedHttpHeaders = true;
https = true;
2023-04-10 20:23:37 -07:00
hostName = "files.nickiel.net";
2023-04-05 21:10:58 -07:00
home = "/Aurora/nextcloud";
2023-04-10 20:23:37 -07:00
autoUpdateApps.enable = true;
2023-04-04 22:56:30 -07:00
2024-04-13 16:52:04 -07:00
phpOptions = {
"opcache.interned_strings_buffer" = "64";
};
2024-02-02 17:09:12 -08:00
settings = {
2023-08-28 17:21:53 -07:00
preview_max_x = 2048;
preview_max_y = 2048;
jpeg_quality = 50;
enable_previews = true;
enabledPreviewProviders = [
"OC\\Preview\\HEIC"
"OC\\Preview\\JPEG"
"OC\\Preview\\JPG"
"OC\\Preview\\PNG"
2023-11-16 15:46:15 -08:00
"OC\\Preview\\MP4"
"OC\\Preview\\MOVIE"
2023-08-28 17:21:53 -07:00
];
2024-04-13 16:52:04 -07:00
log_type = "file";
maintenance_window_start = "10"; # 3 AM PDT
default_phone_region = "US";
2024-02-02 17:09:12 -08:00
overwriteProtocol = "https";
extraTrustedDomains = [
"10.0.0.183"
"files.nickiel.net"
];
trustedProxies = [
"files.nickiel.net"
];
2023-08-28 17:21:53 -07:00
};
2023-05-06 11:05:23 -07:00
database.createLocally = false;
2023-04-04 22:56:30 -07:00
config = {
2023-04-05 21:10:58 -07:00
dbtype = "pgsql";
dbuser = "nextcloud";
dbhost = "/run/postgresql";
dbname = "nextcloud";
#dbpassFile = "/Aurora/nextcloud/nextcloud-db-password";
2023-04-05 21:10:58 -07:00
# This doesn't seem to be working, see this documation:
# https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/reset_admin_password.html
adminpassFile = "/Aurora/nextcloud/nextcloud-admin-password";
adminuser = "admin";
2023-04-04 22:56:30 -07:00
};
2023-04-05 21:10:58 -07:00
};
2023-04-04 22:56:30 -07:00
2023-04-05 21:10:58 -07:00
services.postgresql = {
enable = true;
enableTCPIP = true;
2023-04-05 21:10:58 -07:00
ensureDatabases = [ "nextcloud" ];
ensureUsers = [
{
name = "nextcloud";
2023-12-17 19:24:49 -08:00
ensureDBOwnership = true;
2023-04-05 21:10:58 -07:00
}
];
authentication = lib.mkForce ''
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
host all all 0.0.0.0/0 md5
''; # address is the computer you are connecting from
2023-04-05 21:10:58 -07:00
};
2023-04-04 22:56:30 -07:00
2023-04-05 21:10:58 -07:00
# Make sure PostSQL is running before nextcloud
systemd.services."nextcloud-setup" = {
requires = ["postgresql.service"];
after = ["postgresql.service"];
2023-04-04 22:56:30 -07:00
};
2023-11-15 21:27:02 -08:00
systemd.services.nextcloud-preview = {
description = "Generate previews for all images that haven't been rendered";
path = with pkgs; [
config.services.nextcloud.occ
];
script = ''
nextcloud-occ preview:pre-generate
'';
startAt = "01:00:00";
};
2023-04-04 22:56:30 -07:00
}