65 lines
1.8 KiB
Org Mode
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
|