complete-computing-environment/nextcloud.org

65 lines
1.8 KiB
Org Mode

:PROPERTIES:
:ID: 20220101T180015.306163
:ROAM_ALIASES: Nextcloud
:ROAM_REFS: http://nextcloud.com/
:END:
#+TITLE: Nextcloud on Wobserver
#+FILETAGS: :Project:Wobserver:CCE:
#+AUTO_TANGLE: t
#+ARROYO_NIXOS_MODULE: nixos/nextcloud.nix
#+ARROYO_SYSTEM_ROLE: server
Nextcloud is a self hosted personal information server. Think of it like Google Workspace or Office365 but self-hosted and lower-quality. I use it to share files with friends over [[roam:WebDAV]] and NC's easy link-sharing feature, I use it to sync my calendar and contacts with my phone and in to [[id:1fb8fb45-fac5-4449-a347-d55118bb377e][org-mode]] with [[id:e118bfda-4bb3-4e8d-a8de-83b4860df565][org-caldav]].
Here is how it's deployed to [[id:20211120T220054.226284][The Wobserver]]:
#+begin_src nix :tangle ~/arroyo-nix/nixos/nextcloud.nix
{ ... }:
{
services.postgresql.ensureDatabases = ["nextcloud"];
services.postgresql.ensureUsers = [
{
name = "nextcloud";
ensurePermissions = {
"DATABASE nextcloud" = "ALL PRIVILEGES";
};
}
];
services.prometheus.exporters.nextcloud = {
enable = false;
passwordFile = "/srv/nextcloud/admin-pass";
username = "admin";
url = "https://nc.rix.si";
};
users.groups.tank = {
members = [ "rrix" "nextcloud" ];
gid = 10001;
};
services.nextcloud = {
enable = true;
home = "/srv/nextcloud";
appstoreEnable = true;
hostName = "files.fontkeming.fail";
https = true;
webfinger = true;
config = {
dbhost = "/run/postgresql";
dbtype = "pgsql";
extraTrustedDomains = ["nc.rix.si"];
# dbpassfFile =
adminpassFile = "/srv/nextcloud/admin-pass";
adminuser = "admin";
};
};
}
#+end_src
* NEXT validate this
* NEXT grafana dashboards for nextcloud stats