Unverified Commit 629a02db authored by Maximilian Bosch's avatar Maximilian Bosch Committed by GitHub
Browse files

nixos/nextcloud: doc improvements, remove httpd parts from manual (#451407)

parents a13ff3e2 ddb91270
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -193,8 +193,6 @@
  of the [4.3 release](https://github.com/netbox-community/netbox/releases/tag/v4.2.0),
  make the required changes to your database, if needed, then upgrade by setting `services.netbox.package = pkgs.netbox_4_3;` in your configuration.

- `pkgs.nextcloud30` has been removed since it's out of support upstream.

- `privatebin` has been updated to `2.0.0`. This release changes configuration defaults including switching the template and removing legacy features. See the [v2.0.0 changelog entry](https://github.com/PrivateBin/PrivateBin/releases/tag/2.0.0) for details on how to upgrade.

- `rocmPackages.triton` has been removed in favor of `python3Packages.triton`.
@@ -330,7 +328,3 @@
  See the neovim help page [`:help startup`](https://neovim.io/doc/user/starting.html#startup) for more information, as well as [the nixpkgs neovim wrapper documentation](#neovim-custom-configuration).

- `cloudflare-ddns`: Added package cloudflare-ddns.

- `nextcloud32`: Added for the Nextcloud 32 major release.

  See https://nextcloud.com/blog/nextcloud-hub25-autumn/ for more details on the new major version.
+7 −0
Original line number Diff line number Diff line
@@ -304,6 +304,13 @@

- `services.clamsmtp` is unmaintained and was removed from Nixpkgs.

- The latest available version of Nextcloud is v32 (available as `pkgs.nextcloud32`). The installation logic is as follows:
  - If [`services.nextcloud.package`](#opt-services.nextcloud.package) is specified explicitly, this package will be installed (**recommended**)
  - If [`system.stateVersion`](#opt-system.stateVersion) is >=25.05, `pkgs.nextcloud32` will be installed by default.
  - If [`system.stateVersion`](#opt-system.stateVersion) is >=24.11, `pkgs.nextcloud31` will be installed by default.
  - `nextcloud30` is EOL and was thus removed.
  - Please note that an upgrade from v30 (or older) to v32 directly is not possible. Please upgrade to `nextcloud31` (or earlier) first. Nextcloud prohibits skipping major versions while upgrading. You can upgrade by declaring [`services.nextcloud.package = pkgs.nextcloud30;`](#opt-services.nextcloud.package).

- `services.eris-server` was removed from Nixpkgs due to a hostile upstream.

- `prosody` gained a config check option named `services.prosody.checkConfig` which runs `prosodyctl check config` and is turned on by default.
+1 −52
Original line number Diff line number Diff line
@@ -232,58 +232,7 @@ By default, `nginx` is used as reverse-proxy for `nextcloud`.
However, it's possible to use e.g. `httpd` by explicitly disabling
`nginx` using [](#opt-services.nginx.enable) and fixing the
settings `listen.owner` & `listen.group` in the
[corresponding `phpfpm` pool](#opt-services.phpfpm.pools).

An exemplary configuration may look like this:
```nix
{
  config,
  lib,
  pkgs,
  ...
}:
{
  services.nginx.enable = false;
  services.nextcloud = {
    enable = true;
    hostName = "localhost";

    # further, required options
  };
  services.phpfpm.pools.nextcloud.settings = {
    "listen.owner" = config.services.httpd.user;
    "listen.group" = config.services.httpd.group;
  };
  services.httpd = {
    enable = true;
    adminAddr = "webmaster@localhost";
    extraModules = [ "proxy_fcgi" ];
    virtualHosts."localhost" = {
      documentRoot = config.services.nextcloud.package;
      extraConfig = ''
        <Directory "${config.services.nextcloud.package}">
          <FilesMatch "\.php$">
            <If "-f %{REQUEST_FILENAME}">
              SetHandler "proxy:unix:${config.services.phpfpm.pools.nextcloud.socket}|fcgi://localhost/"
            </If>
          </FilesMatch>
          <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteBase /
            RewriteRule ^index\.php$ - [L]
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule . /index.php [L]
          </IfModule>
          DirectoryIndex index.php
          Require all granted
          Options +FollowSymLinks
        </Directory>
      '';
    };
  };
}
```
[`phpfpm` pool `nextcloud`](#opt-services.phpfpm.pools).

## Installing Apps and PHP extensions {#installing-apps-php-extensions-nextcloud}

+0 −4
Original line number Diff line number Diff line
@@ -1070,10 +1070,6 @@ in
              nextcloud defined in an overlay, please set `services.nextcloud.package` to
              `pkgs.nextcloud`.
            ''
          else if lib.versionOlder stateVersion "24.05" then
            pkgs.nextcloud27
          else if lib.versionOlder stateVersion "24.11" then
            pkgs.nextcloud29
          else if lib.versionOlder stateVersion "25.05" then
            pkgs.nextcloud30
          else if lib.versionOlder stateVersion "25.11" then
+0 −36
Original line number Diff line number Diff line
@@ -1851,42 +1851,6 @@ mapAliases {
    first on 25.05 because Nextcloud doesn't support upgrades across multiple major versions!
  ''; # Added 2025-09-25
  nextcloud30Packages = throw "Nextcloud 30 is EOL!"; # Added 2025-09-25
  nextcloud29 = throw ''
    Nextcloud v29 has been removed from `nixpkgs` as the support for is dropped
    by upstream in 2025-04. Please upgrade to at least Nextcloud v30 by declaring

        services.nextcloud.package = pkgs.nextcloud30;

    in your NixOS config.

    WARNING: if you were on Nextcloud 28 you have to upgrade to Nextcloud 29
    first on 24.11 because Nextcloud doesn't support upgrades across multiple major versions!
  ''; # Added 2025-04-11
  nextcloud29Packages = throw "Nextcloud 29 is EOL!"; # Added 2025-04-11
  nextcloud28 = throw ''
    Nextcloud v28 has been removed from `nixpkgs` as the support for is dropped
    by upstream in 2025-01. Please upgrade to at least Nextcloud v29 by declaring

        services.nextcloud.package = pkgs.nextcloud29;

    in your NixOS config.

    WARNING: if you were on Nextcloud 27 you have to upgrade to Nextcloud 28
    first on 24.11 because Nextcloud doesn't support upgrades across multiple major versions!
  ''; # Added 2025-01-19
  nextcloud28Packages = throw "Nextcloud 28 is EOL!"; # Added 2025-01-19
  nextcloud27 = throw ''
    Nextcloud v27 has been removed from `nixpkgs` as the support for is dropped
    by upstream in 2024-06. Please upgrade to at least Nextcloud v28 by declaring

        services.nextcloud.package = pkgs.nextcloud28;

    in your NixOS config.

    WARNING: if you were on Nextcloud 26 you have to upgrade to Nextcloud 27
    first on 24.05 because Nextcloud doesn't support upgrades across multiple major versions!
  ''; # Added 2024-06-25
  nextcloud27Packages = throw "Nextcloud27 is EOL!"; # Added 2024-06-25
  nextcloud-news-updater = throw "nextcloud-news-updater has been removed because the project is unmaintained"; # Added 2025-03-28
  nixForLinking = throw "nixForLinking has been removed, use `nixVersions.nixComponents_<version>` instead"; # Added 2025-08-14
  nagiosPluginsOfficial = monitoring-plugins; # Added 2017-08-07