diff --git a/home/features/coding/emacs.nix b/home/features/coding/emacs.nix index 40227ca..3b0ede7 100644 --- a/home/features/coding/emacs.nix +++ b/home/features/coding/emacs.nix @@ -37,7 +37,6 @@ epkgs.embark-consult epkgs.emmet-mode epkgs.envrc - # epkgs.eterm-256color epkgs.evil epkgs.evil-collection epkgs.evil-nerd-commenter @@ -86,6 +85,7 @@ epkgs.python-mode epkgs.rainbow-delimiters epkgs.request + epkgs.restclient epkgs.rustic epkgs.smartparens epkgs.svelte-mode diff --git a/hosts/lkk-nix-1/services/containers/default.nix b/hosts/lkk-nix-1/services/containers/default.nix index a02f2a3..aade6c9 100644 --- a/hosts/lkk-nix-1/services/containers/default.nix +++ b/hosts/lkk-nix-1/services/containers/default.nix @@ -2,6 +2,7 @@ imports = [ ./baserow.nix ./matomo.nix + ./nextcloud.nix ./wordpress.nix ./wireguard.nix ]; diff --git a/hosts/lkk-nix-1/services/containers/nextcloud.nix b/hosts/lkk-nix-1/services/containers/nextcloud.nix new file mode 100644 index 0000000..8d9e04d --- /dev/null +++ b/hosts/lkk-nix-1/services/containers/nextcloud.nix @@ -0,0 +1,14 @@ +{ config, outputs, ... }: { + virtualisation.oci-containers.containers."nextcloud" = { + image = "docker.io/nextcloud"; + environment = { + TRUSTED_PROXIES = "10.88.0.1/16"; + OVERWRITEPROTOCOL = "https"; + OVERWRITECLIURL = "https://cloud.lanakk.com"; + OVERWRITEHOST = "cloud.lanakk.com"; + }; + ports = [ "3005:80" ]; + volumes = [ "nextcloud_data:/var/www/html" ]; + extraOptions = [ "--add-host=mysql:10.88.0.1" ]; + }; +} diff --git a/hosts/lkk-nix-1/services/traefik.nix b/hosts/lkk-nix-1/services/traefik.nix index 6b140e4..2d6cdc0 100644 --- a/hosts/lkk-nix-1/services/traefik.nix +++ b/hosts/lkk-nix-1/services/traefik.nix @@ -32,6 +32,13 @@ users = [ "m3tam3re:$apr1$1xqdta2b$DIVNvvp5iTUGNccJjguKh." ]; }; }; + nextcloud_redirectregex = { + redirectRegex = { + permanent = true; + regex = "https://(.*)/.well-known/(?:card|cal)dav"; + replacement = "https://\${1}/remote.php/dav"; + }; + }; }; services = { baserow.loadBalancer.servers = [{ url = "http://localhost:3001/"; }]; @@ -112,6 +119,16 @@ service = "invidious"; entrypoints = "websecure"; }; + nextcloud = { + rule = "Host(`cloud.lanakk.com`)"; + tls = { + certResolver = "godaddy"; + domains = "cloud.lanakk.com"; + }; + service = "nextcloud"; + entrypoints = "websecure"; + middlewares = "nextcloud_redirectregex"; + }; wireguard = { rule = "Host(`wg.lanakk.com`)"; tls = {