Commit graph

1000 commits

Author SHA1 Message Date
Sandro Jäckel 1a7f6b4070
nixos/hedgedoc: do not require to set searchAttributes when ldap login is used 2022-07-24 04:08:18 +02:00
Sandro 8455ba6d64
Merge pull request #181258 from SuperSandro2000/onlyoffice 2022-07-22 16:28:13 +02:00
pennae e4d4b3cd64
Merge pull request #182441 from leungbk/lemmy-whitespace
services/web-apps/lemmy.nix: Remove space that causes a type error
2022-07-22 14:30:23 +02:00
Maximilian Bosch ee2413c326
nixos/crowd: store openid password securely 2022-07-22 13:13:12 +02:00
Ilan Joselevich d0617a58e2
services/web-apps/lemmy.nix: Remove space that causes a type error 2022-07-22 01:19:28 -07:00
Maximilian Bosch 258060c37d
nixos/confluence: store crowd SSO password securely
Basically the same as the JIRA change[1], but I figured that we can
actually implement that in a backwards compatible manner.

[1] https://github.com/NixOS/nixpkgs/pull/181715
2022-07-20 23:11:53 +02:00
Sandro Jäckel 5e297d07aa
nixos/onlyoffice: init 2022-07-16 23:32:07 +02:00
Maximilian Bosch 765cc35042
nixos/atlassian-jira: allow to store SSO password for crowd outside of the Nix store
The option `services.jira.sso.applicationPassword` has been replaced by
`applicationPasswordFile` that needs to be readable by the `jira`-user
or group.

The new `crowd.properties` is created on startup in `~jira` and the
secret is injected into it using `replace-secret`.
2022-07-16 13:01:29 +02:00
Emery Hemingway 429fc9aaf7 nixos/hedgedoc: convert to settings-style configuration
Replace "services.hedgedoc.configuration" with ".settings" to be
consistent with RFC0042. This allows control of settings not
declared in the module.
2022-07-10 08:07:14 -05:00
Sandro de9a1f4e81
Merge pull request #180039 from astro/openwebrx 2022-07-07 14:48:48 +02:00
Astro 10565fccde m17-cxx-demod: init at 2.3, add to nixos/openwebrx 2022-07-07 00:41:30 +02:00
ajs124 2837f807c9
Merge pull request #180066 from helsinki-systems/rem/nodejs-12_x
nodejs-12_x: remove
2022-07-06 23:09:28 +02:00
stuebinm 3fbc2a433d services/nextcloud: impossible error message 2022-07-06 11:57:44 +02:00
stuebinm 5f4d5fcfa4 services/nextcloud: apply suggestions 2022-07-06 00:16:04 +02:00
stuebinm dd9200c0a4 services/nextcloud: fix a bug 2022-07-06 00:05:31 +02:00
Martin Weinelt 9082cc6ba0
Merge pull request #174219 from PhilippWoelfel/fix/nixos/calibre-web
nixos/calibre-web: Add quotes to test for calibre library
2022-07-05 12:07:47 +02:00
ajs124 1c0cc017b5 nixos/cryptpad: remove 2022-07-04 15:33:59 +02:00
Astro 242090860a nixos/openwebrx: add codec2, js8call 2022-07-04 15:06:10 +02:00
Erik Arvstedt 3f54dfa475
treewide: fix bash exit handlers
Transform exit handlers of the form
trap cleanup EXIT [INT] [TERM] [QUIT] [HUP] [ERR]
  (where cleanup is idempotent)
to
trap cleanup EXIT

This fixes a common bash antipattern.

Each of the above signals causes the script to exit. For each signal,
bash first handles the signal by running `cleanup` and then runs
`cleanup` again when handling EXIT.
(Exception:  `vscode/*` prevents the second run of `cleanup` by removing
the trap in cleanup`).

Simplify the cleanup logic by just trapping exit, which is always run
when the script exits due to any of the above signals.

Note: In case of borgbackup, the exit handler is not idempotent, but just
trapping EXIT guarantees that it's only run once.
2022-07-02 16:13:12 +02:00
stuebinm c3e03d1199
Merge branch 'master' into nextcloud-secrets 2022-06-30 22:24:44 +02:00
stuebinm ef75aab612 services/nextcloud: more consistent code 2022-06-30 22:21:43 +02:00
ckie a8c2879f43
Merge pull request #179425 from McSinyx/phylactery
phylactery: init at 0.1.1
2022-06-30 18:29:19 +03:00
Nguyễn Gia Phong f5f338c846
nixos/phylactery: init 2022-06-30 22:50:08 +09:00
Sandro a59be4f6c8
Merge pull request #175919 from phaer/phaer-healthchecks
healthchecks: init at 2.2.1
2022-06-29 23:15:35 +02:00
ajs124 aea940da63 nixos/jitsi-meet: move prosodyctl calls into prosody preStart 2022-06-29 00:19:57 +02:00
phaer 12d45dc313 healthchecks: init at 2.2.1 2022-06-28 10:28:46 +02:00
Astro 9123ed5f36 openwebrx: 1.1.0 -> 1.2.0 2022-06-28 00:46:32 +02:00
Winter d6f59779c6 nixos/nextcloud: remove extraneous nginx config directive 2022-06-26 14:30:59 -04:00
Winter e54ddddd2a nixos/nextcloud: make all services run after nextcloud-setup 2022-06-26 14:29:59 -04:00
Winter 6be3ce36b6 nixos/nextcloud: use mkOption.default for datadir 2022-06-26 14:27:03 -04:00
Yaya 57617daaff
Revert "nixos/hedgedoc: Do not set StateDirectory to an absolute path" 2022-06-26 12:06:36 +02:00
ajs124 5c39c81260
Merge pull request #176702 from Mic92/tt-rss
tt-rss: downgrade to php 8.0
2022-06-25 00:29:11 +02:00
M. A becff58579 nixos/hedgedoc: Do not set StateDirectory to an absolute path
Commit 8109d8a set the `StateDirectory=` option of the systemd service
configuration to the value of `cfg.workDir` which is wrong, according
to dasJ [1]. This commit resolves this issue by stripping the
`/var/lib/` prefix from `cfg.workDir`.

[1] https://github.com/NixOS/nixpkgs/pull/172824#issuecomment-1130350412
2022-06-15 08:58:52 +00:00
Elis Hirwing da19e4ae97
nixos/snipe-it: Upgrade to PHP 8.1
They state that they support PHP 8.1:
https://snipe-it.readme.io/docs/requirements
2022-06-08 18:09:15 +02:00
Elis Hirwing d7f000b98b
nixos/moodle: Upgrade to PHP 8.1 2022-06-08 18:09:11 +02:00
Elis Hirwing d0862b0ed9
nixos/nextcloud: Upgrade to PHP 8.0 2022-06-08 18:09:07 +02:00
Elis Hirwing a69ba21a29
nixos/invoiceplan: Upgrade to PHP 8.1
They seem to be working to get PHP 8.1 support:
https://github.com/InvoicePlane/InvoicePlane/issues/798
2022-06-08 18:09:03 +02:00
Elis Hirwing f822b894c5
nixos/dokuwiki: Upgrade to PHP 8.1
They seem to run tests against 8.1 since this commit:
7aee97ee81
2022-06-08 18:08:59 +02:00
Elis Hirwing 4580a63bc4
nixos/grocy: Upgrade to PHP 8.0 2022-06-08 18:08:52 +02:00
Daniel Poelzleithner e78c2d05da hedgedoc: ensure upload directory exists
Upload directory is not created when uploading, but will fail silently.
Ensure the upload directory is created.
2022-06-07 09:06:56 -05:00
Jörg Thalheim 70b31373b4
tt-rss: downgrade to php 8.0 2022-06-07 14:24:07 +02:00
Lassulus 8cea5e2fa1
Merge pull request #173664 from Izorkin/peertube-redis-server
nixos/peertube: use redis.servers
2022-06-02 20:26:29 +02:00
Aleksandar Topuzović fd86efb8c2 nixos/nextcloud: Fix broken config file 2022-05-28 19:14:12 +01:00
Sandro 23ec1c06c0
Merge pull request #173126 from NULLx76/update-hedgedoc-module
nixos/hedgedoc: fix and add config options
2022-05-27 16:03:22 +02:00
Maximilian Bosch 57a8966d03
Merge pull request #171227 from aidalgol/nextcloud-setup-script-fix
nixos/nextcloud: Fix broken error suppression in setup script
2022-05-27 13:23:10 +02:00
Jörg Thalheim 9ae4a910e4
nixos/timetagger: drop non-evaluating service files
The file was not included in the module list and also does not evaluate.
2022-05-25 21:24:48 +02:00
Philipp Woelfel 81ed7d8861 nixos/calibre-web: Add quotes to test for calibre library 2022-05-23 20:03:28 -06:00
Antoine Martin f3f0b60006 nixos/nextcloud: use PHP 8 avoiding broken 2FA app 2022-05-23 18:39:39 +02:00
Maximilian Bosch 33c44a1031
nextcloud22: drop
Version 22 will be EOLed in July 2022[1] and we shouldn't have
unsupported software in the soon-to-be-released NixOS 22.05, hence
dropping it already.

[1] https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule
2022-05-21 18:34:28 +02:00
Aidan Gauland 80367c8db8
nixos/nextcloud: Remove confusing comment
There is a comment above the invocation of 'nextcloud-occ app:enable', stating
that the script should not fail if any of the apps cannot be enabled, but there
is nothing in place to suppress errors.  The app:enable command already
continues installing the remaining apps when one fails to install, and we do not
want to suppress errors in the setup script, so this just removes the comment
about not failing.
2022-05-21 10:36:51 +12:00
Izorkin 0b1340f57b
nixos/peertube: use redis.servers 2022-05-19 23:52:50 +03:00
Silvan Mosberger f224a4f1b3
Merge pull request #76315 from nek0/restya-board-config-fix2
restya-board: further fix for functionality
2022-05-19 16:04:41 +02:00
Maximilian Bosch f1f849afb8
Merge pull request #171736 from arnottcr/nextcloud
nextcloud24: init at 24.0.0
2022-05-18 12:14:01 +02:00
Maximilian Bosch a0bcf1e9ea
nixos/nextcloud: styling 2022-05-18 11:50:53 +02:00
Maximilian Bosch e46bff9569
nixos/nextcloud: upgrade instructions / info for v23 2022-05-18 11:47:50 +02:00
Maximilian Bosch 6f80d6836a
nixos/nextcloud: mariadb workaround is for versions >=24 not needed anymore 2022-05-18 11:22:31 +02:00
Maximilian Bosch 6e6ba864b3
Merge pull request #130434 from mrVanDalo/feature/fix_nextcloud_logging
nextcloud: fix logging parameter
2022-05-17 18:53:36 +02:00
Maximilian Bosch ab8a7cae2c
nixos/nextcloud: remove unneeded log_level-param
Actually it's called `loglevel` on both v22 and v23.
2022-05-17 18:11:40 +02:00
Victor e9b1375878 nixos/hedgedoc: fix and add config options
* fixed minio endpoint config option name
* add requireFreeURLAuthentication config option
2022-05-15 11:57:15 +02:00
Aidan Gauland 59244e07f0
nixos/nextcloud: Add option for max-age HSTS directive
* Add an option services.nextcloud.nginx.hstsMaxAge for setting the max-age
  directive of the Strict-Transport-Security HTTP header.

* Make the Strict-Transport-Security HTTP header in the Nginx virtualhost block
  dependant upon the option services.nextcloud.https instead of
  services.nextcloud.nginx.recommendedHttpHeaders, as this header makes no sense
  when not using HTTPS.  (Closes #169465)
2022-05-14 09:04:45 +12:00
Jelle Besseling 0f69a517a4 nixos/mastodon: use redis.servers 2022-05-13 15:39:44 +02:00
Maximilian Bosch 4d0e1bfb3a
Merge pull request #172381 from mayflower/atlassian-service-restart
nixos/{jira,crowd,confluence}: restart service on failure
2022-05-13 14:10:30 +02:00
Max Hausch 2802e8f05c
nixos/hedgedoc: Set StateDirectory to workDir and uploadsPath
This is needed to make uploading files possible in the hedgedoc ui.
2022-05-13 10:27:51 +02:00
Maximilian Bosch 6f9099fa62
nixos/{jira,crowd,confluence}: restart service on failure
In case of unexpected failures of the services - such as an OOM - it
shouldn't be necessary for an administrator to restart the service by
hand (which is usually sufficient). Instead, this should happen
automatically.

Also, I decided to increase the interval between restart attempts from
100ms[1] to 10s for a small grace period as suggested by several online
resources[2][3].

[1] See `systemd.service(5)`
[2] https://it.megocollector.com/linux/create-systemd-services-for-atlassian-apps/
[3] https://anteru.net/blog/2017/jira-confluence-with-systemd-on-centos/
2022-05-10 22:31:22 +02:00
Lara 9cb388739f nixos/snipe-it: init
Snipe-IT is a free open source IT asset/license management system

https://snipeitapp.com/
2022-05-10 16:57:21 +02:00
Colin Arnott ecd8d42397
nextcloud24: init at 24.0.0
Added Nextcloud 23 and set it as the default Nextcloud version for the
NixOS module. Added PHP 8.1 as an option for phpPackage and default for
Nextcloud ≥ 24.
2022-05-06 00:37:39 +00:00
Ivan Kozik 59a76614f3 treewide: chown user:group instead of user.group to fix warnings from coreutils 9.1 2022-05-05 22:05:18 +00:00
Felix Singer 9765ee6bbf keycloak: 17.0.1 -> 18.0.0
Release notes available at https://www.keycloak.org/docs/latest/release_notes/index.html#keycloak-18-0-0.

The way the database port is configured changed in Keycloak 18 and the
old way of including it in the `db-url-host` setting no longer
works. Use the new `db-url-port` setting instead.

Signed-off-by: Felix Singer <felixsinger@posteo.net>
Signed-off-by: Kim Lindberger <kim.lindberger@gmail.com>
2022-05-03 16:12:55 +02:00
Robert Hensing 527457cadc
Merge pull request #156163 from erdnaxe/galene_hardening
nixos/galene: systemd unit hardening
2022-04-28 10:52:00 +02:00
Linus Heckemann fc1248c589
Merge pull request #169932 from Ma27/nextcloud-profile-setting
nixos/nextcloud: make `profile.enabled` configurable
2022-04-24 22:50:05 +02:00
stuebinm 92fe62e1de
Merge branch 'master' into nextcloud-secrets 2022-04-24 18:43:28 +02:00
stuebinm 095c27c9d5 services/nixos: decode secret file correctly 2022-04-24 18:03:58 +02:00
stuebinm b5af071946 services/nextcloud: apply suggestions from PR 118093 2022-04-24 15:48:00 +02:00
Robin Gloster 0d8c3cf64b
Merge pull request #164650 from mayflower/jira-home
nixos/jira: set home for jira user
2022-04-24 14:27:33 +02:00
Maximilian Bosch 9931c4a407
nixos/nextcloud: make profile.enabled configurable
I recently learned that Nextcloud 23's new profile feature — basically a
way for users to share personal contact details — has a problematic
default setting, profile data is shared with **everyone** by default.

This means that an unauthenticated user can access personal information
by accessing `nextcloud.tld/u/user.name`.

The announcement of v23 states[1]:

> We go a step further and introduce a profile page. Here you can put a
> description of yourself, show links to, for example, social media, what
> department you are in and information on how to contact you. All these
> are of course entirely optional and you can choose what is visible to who!
> The profile and user status are accessible also from our mobile and desktop clients.

It's not mentioned that by default you share personal information[3] with
everyone and personally I think that's somewhat problematic.

To work around that, I decided to add an option for the recently added[2]
and even set it to `false` by default to make an explicit opt-in for
that feature.

[1] https://nextcloud.com/blog/nextcloud-hub-2-brings-major-overhaul-introducing-nextcloud-office-p2p-backup-and-more/
[2] https://github.com/nextcloud/server/pull/31624/files
[3] By default, this affects the following properties:
    * About
    * Full name
    * Headline
    * Organisation
    * Profile picture
    * Role
    * Twitter
    * Website
    Phone, Address and Email are not affected and only shown to
    authenticated users by default.
2022-04-23 13:31:50 +02:00
Jonas Heinrich 047473aa32 nixos/nextcloud: Support create database locally 2022-04-19 14:35:59 -04:00
Kim Lindberger ce2895263d
Merge pull request #167378 from talyz/keycloak-quarkus
keycloak: Switch to the new Quarkus version of Keycloak
2022-04-15 22:02:42 +02:00
talyz ed30d3b02f
keycloak: Switch to the new Quarkus version of Keycloak
With version 17 of Keycloak, the Wildfly based distribution was
deprecated in favor of the one based on Quarkus. The difference in
configuration is massive and to accommodate it, both the package and
module had to be rewritten.
2022-04-12 13:42:54 +02:00
Kim Lindberger 9d12de1ab7
Merge pull request #165481 from talyz/discourse-2.9.0.beta3
discourse: 2.9.0.beta1 -> 2.9.0.beta3
2022-04-12 10:38:16 +02:00
Izorkin d706301b0c
nixos/nifi: init service 2022-04-10 20:42:00 +03:00
Nico Stuhlmueller 47188071d2 nixos/{jitsi-meet,prosody}: Reload prosody after switch
Jitsi breaks after switch, not allowing a second person to join a meeting.
This should fix the poblem.
See Issue:
https://github.com/NixOS/nixpkgs/issues/117212
2022-04-03 10:45:23 +02:00
Kerstin Humm f44b12fb52 mastodon: use correct GitHub Url
The tootsuite organization was renamed to mastodon ages ago.
2022-03-31 13:17:11 +02:00
Kerstin Humm 23a1971a4e nixos/mastodon: preload libjemalloc.so
Co-authored-by: Izorkin <izorkin@elven.pw>
2022-03-31 13:17:11 +02:00
Matthew Toohey a0f7d98c19 nixos/jitsi-meet: fix typo 2022-03-30 20:56:29 -04:00
Ember 'n0emis' Keske dbd49febb5
netbox: init module 2022-03-30 22:24:34 +02:00
talyz 068c5a0c80
nixos/discourse: Update redis server settings...
...to match the updated redis module.
2022-03-25 12:06:01 +01:00
talyz 04afc69a29
discourse: 2.9.0.beta1 -> 2.9.0.beta3 2022-03-25 12:05:48 +01:00
Benjamin Staffin d6f50a5c8e keycloak: fix a missing newline when using plugins 2022-03-22 12:36:14 -04:00
Benjamin Staffin 34006ebc9d Merge remote-tracking branch 'origin/master' into mvn 2022-03-21 18:37:45 -04:00
Alexandre Iooss 92349ece0f
nixos/galene: systemd unit hardening 2022-03-20 09:24:52 +01:00
Linus Heckemann 51f78ade78 nixos/jira: set home for jira user
Some plugins rely on being able to write to the user's home directory.
2022-03-18 00:01:41 +01:00
Maximilian Bosch 15876a546c
nextcloud21: remove
EOLed by upstream in 2022-02[1].

[1] https://docs.nextcloud.com/server/23/admin_manual/release_schedule.html#older-versions
2022-03-15 21:26:46 +01:00
Krzysztof Nazarewski 4ea5398d20
plantuml-server 1.2021.12 -> 1.2022.2
- changed JDK version to 17 (11+ required)
- added maven build reproducibility
2022-03-11 09:05:35 +01:00
midchildan dc5bd4b375
nixos/keycloak: fix database provisioning issues
This fixes the following issues with the database provisioning script
included in the services.keycloak module:

- It lacked permission to access the DB password file specified in the
  module option 'services.keycloak.database.passwordFile'.

- It prevented Keycloak from starting after the second time if the user
  chose MySQL for the database.
2022-02-28 00:54:26 +09:00
Izorkin e0616741d1
nixos/peertube: add python path 2022-02-24 22:34:01 +03:00
Izorkin c2296c3ec2
nixos/peertube: fix youtube-dl import 2022-02-24 22:34:01 +03:00
Guillaume Girol 4846d948b4
Merge pull request #156601 from symphorien/miniflux-password
nixos/miniflux: no cleartext password in the store
2022-02-21 21:18:36 +00:00
Sandro 5a57844cf6
Merge pull request #158592 from SuperSandro2000/nginx-nixos 2022-02-20 16:32:09 +01:00
Jelle Besseling 29366071a4 nixos/mastodon: add RAILS_ROOT to mastodon-env 2022-02-19 16:42:45 +01:00
Olivier Marty 7852ea1596 nixos/matomo: point path.geoip2 outside of the nix store.
path.geoip2 pointed to the nix store which is read-only. Matomo was
failing to download a geoip2 database. See #64759.
2022-02-16 22:21:44 +03:00
Sandro Jäckel ae66e2d5ec
treewide: use configured nginx package 2022-02-08 12:13:30 +01:00
Kim Lindberger b43e0ae859
Merge pull request #157719 from talyz/bookstack-secret-paths
nixos/bookstack: Make secret replacement strings more unique
2022-02-02 16:27:22 +01:00
talyz be97b3b44d
nixos/bookstack: Make secret replacement strings more unique
If a secret path is a subset of a second secret path, there's a risk
that its secret is substituted for the matching part of the second
path. To prevent this, use the sha256 of the paths as placeholder
string instead.
2022-02-02 12:27:18 +01:00
Guillaume Girol 1df9e95ed7 nixos/miniflux: no cleartext password in the store 2022-01-31 21:31:28 +01:00
Guillaume Girol d5ddafd0fa
Merge pull request #153219 from symphorien/doc-miniflux
nixos/miniflux: improve docs
2022-01-31 20:05:30 +00:00
Niklas Hambüchen 13f5c4c45b
Merge pull request #156731 from Ma27/bump-plausible
plausible: 1.4.0 -> 1.4.3
2022-01-29 22:32:15 +01:00
Ingo Blechschmidt 92eb5bc48e ethercalc: init at latest master (b19627) 2022-01-29 20:56:06 +01:00
Jörg Thalheim 956dab36a3 nextcloud: use tmpfiles to create group-readable home
users.users.*.createHome makes home only owner-readable.
This breaks nginx reading static assets from nextcloud's home,
after a nixos-rebuild that did not restart nextcloud-setup.

Closes #112639
2022-01-27 19:13:50 +01:00
Maximilian Bosch e211c94b94
plausible: 1.4.0 -> 1.4.3
ChangeLog: https://github.com/plausible/analytics/blob/v1.4.3/CHANGELOG.md#unreleased

Also makes the option `services.plausible.releaseCookiePath` mandatory[1]: since Elixir
1.13 the `RELEASE_COOKIE` env-var *must* be set, otherwise the startup
fails[2]. Since we drop `$out/releases/COOKIE` in the `fixupPhase` of
`mixRelease` and Elixir seems to always attempt to generate such a
file[3], I figured it's reasonable to just make it mandatory now.

Closes #155575

[1] https://nixos.org/manual/nixos/stable/options.html#opt-services.plausible.releaseCookiePath
[2] f24eb2c1ef /
    https://github.com/elixir-lang/elixir/issues/11114
[3] https://hexdocs.pm/mix/Mix.Tasks.Release.html, see `:cookie`
2022-01-25 17:19:49 +01:00
Guillaume Girol 9a303957b9 nixos/miniflux: improve docs 2022-01-25 12:00:00 +00:00
Renaud 454272e7ff
Merge pull request #155847 from onny/dokuwikicleanup
nixos/dokuwiki: Minor code cleanup
2022-01-24 13:42:57 +01:00
Jonas Heinrich c95e816c65
nixos/wordpress: Drop old deprecated interface (#152674) 2022-01-23 23:17:01 +09:00
Maximilian Bosch 588fd794b3
Merge pull request #155502 from yayayayaka/nextcloud-optional-headers
nixos/nextcloud: Optionally disable setting HTTP response headers
2022-01-21 10:53:28 +01:00
Jonas Heinrich 80475b46f5
nixos/invoiceplane: init module and package at 1.5.11 (#146909) 2022-01-20 22:45:35 +09:00
Jonas Heinrich 884daaafcb nixos/dokuwiki: Minor code cleanup 2022-01-20 12:01:09 +01:00
Nikolay Amiantov e5e160e08e
Merge pull request #155367 from talyz/keycloak-loadcredential
nixos/keycloak: Use LoadCredential to load secrets + module formatting
2022-01-19 00:47:58 +03:00
Lara 7109660b9a nixos/nextcloud: Optionally disable setting HTTP response headers
This commit introduces a new option
`services.nextcloud.nginx.recommendedHttpHeaders` that can be used to
optionally disable serving recommended HTTP Response Headers in nginx.
This is especially useful if some headers are already configured
elsewhere to be served in nginx and thus result in duplicate headers.

Resolves #120223
2022-01-18 18:33:11 +00:00
talyz 07b64a2ad7
nixos/bookstack: Add option config to replace extraConfig
The `extraConfig` parameter only handles text - it doesn't support
arbitrary secrets and, with the way it's processed in the setup
script, it's very easy to accidentally unescape the echoed string and
run shell commands / feed garbage to bash.

To fix this, implement a new option, `config`, which instead takes a
typed attribute set, generates the `.env` file in nix and does
arbitrary secret replacement. This option is then used to provide the
configuration for all other options which change the `.env` file.
2022-01-18 15:16:23 +01:00
talyz a0b54a0626
nixos/bookstack: Simplify the nginx setup
Use the recommended defaults and remove unnecessary configuration.
2022-01-18 15:16:17 +01:00
talyz df607c1d1f
nixos/bookstack: Make the hostname configurable...
...and set a reasonable default `appURL` based on it.

This is pretty much required when configuring ACME, and useful in
general.
2022-01-18 15:16:11 +01:00
talyz e7fa7fdffc
nixos/bookstack: Clear the cache more reliably
When upgrading bookstack, if something in the cache conflicts with the
new installation, the artisan commands might fail. To solve this, make
the cache lifetime bound to the setup service. This also removes the
`cacheDir` option, since the path is now handled automatically by
systemd.
2022-01-18 15:16:04 +01:00
talyz 95430e31f5
nixos/keycloak: Reformat the code with nixpkgs-fmt 2022-01-17 12:47:53 +01:00
talyz 21b1de2bcd
nixos/keycloak: Inherit library functions and builtins
Instead of referencing all library functions through `lib.` and
builtins through `builtins.` at every invocation, inherit them into
the appropriate scope.
2022-01-17 12:42:30 +01:00
talyz 5010f4fff9
nixos/keycloak: Use LoadCredential to load secrets
Use systemd's LoadCredential mechanism to make the secret files
available to the service.

This gets rid of the privileged part of the ExecPreStart script which
only served to copy these files and assign the correct
permissions. There's been issues with this approach when used in
combination with DynamicUser, where sometimes the user isn't created
before the ExecPreStart script runs, causing the error

install: invalid user ‘keycloak’

This should fix that issue.

Unfortunately, all of the ExecPreStart script had to be moved to
ExecStart, since credentials aren't provided to ExecPreStart. See
https://github.com/systemd/systemd/issues/19604.
2022-01-17 11:46:51 +01:00
Morgan Jones 9db1fb4772 nixos/mattermost: update release notes 2022-01-16 22:34:37 -07:00
Naïm Favier bbfca6b6b9
nixos/prosody-filer: remove usage of literalExample 2022-01-16 22:10:47 +01:00
Kim Lindberger cdd600c430
Merge pull request #154193 from abbradar/keycloak-changes
keycloak: 15.1.0 -> 16.1.0 + module improvements
2022-01-16 11:27:29 +01:00
Nikolay Amiantov 97a0cf62f0 keycloak service: allow to set empty frontend URL
This together with extraConfig:

{
  "subsystem=undertow"."server=default-server"."http-listener=default"."proxy-address-forwarding" = true;
  "subsystem=undertow"."server=default-server"."https-listener=https"."proxy-address-forwarding" = true;
}

Allows to run Keycloak behind a reverse proxy that provides
X-Forwarded-* headers.
2022-01-16 11:41:50 +03:00
Nikolay Amiantov 84f70eefd1 keycloak service: add themes support
Custom themes can be packaged and then added using `themes` config
attribute.
2022-01-16 11:41:50 +03:00
Nikolay Amiantov a42abe27c0 keycloak service: use 'attrsOf anything' for extraConfig 2022-01-16 11:25:44 +03:00
Nikolay Amiantov 827267a27f keycloak service: update HTTPS configuration
Keycloak 16.1.0 uses different way to configure HTTPS.
This requires us to order commands correctly, otherwise linked
objects will fail.
2022-01-16 11:25:44 +03:00
Nikolay Amiantov 3c7e78cc6a keycloak service: ordering for CLI script
Allow update commands in the script to be ordered using `mkOrder`.
If we encounter ordered sub-objects we sort them by priority.

To implement this we now explicitly pass current node in `recurse`,
which also allows us to clean up edge case for top-level node.

Also refactor `recurse` to avoid passing result text argument; we
weren't tail recursive before anyway.
2022-01-16 11:25:44 +03:00
Jonas Heinrich 75d417c267
nixos/dokuwiki: Drop deprecated old interface (#152676) 2022-01-16 02:38:20 +09:00
Matthias Beyer 1f10b0434f timetagger: Make enable option with mkOption
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-01-15 09:07:54 +01:00
Matthias Beyer a24dc8d2ef timetagger: Use default value for package option
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Suggested-by: Aaron Andersen <aaron@fosslib.net>
2022-01-15 09:07:52 +01:00
Matthias Beyer f3eaf66882 Add service module for timetagger
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-01-15 09:07:52 +01:00
Jonas Heinrich ef0de7ccb5
nixos/wordpress: Ensure no passwordFile if local db deployment (#148613) 2022-01-12 21:50:19 +09:00
Nikolay Amiantov 8956803ade prosody-filer service: init
Add user and group, as files stored are persistent and to be accessed by nginx or other web server.
2022-01-11 20:09:36 +03:00
Nikolay Amiantov 74a88c4961 baget service: init 2022-01-11 19:54:54 +03:00
Aaron Andersen 5dc2454267
Merge pull request #153706 from ymarkus/bookstack-module
nixos/bookstack: fix setup service
2022-01-06 15:09:27 -05:00
Aaron Andersen ea0d11e503
Merge pull request #153745 from mohe2015/wordpress-no-directory-indexes
nixos/wordpress: Disable directory indexes
2022-01-06 13:12:54 -05:00
Moritz Hedtke bb358d6566
nixos/wordpress: Disable directory indexes
Fixes #151159
Confirmed using path http://localhost/wp-includes/
2022-01-06 18:04:19 +01:00
Yannick Markus 7f2bc1d736
nixos/bookstack: fix setup service 2022-01-06 11:56:43 +01:00
Robert Hensing 70d27303da
Merge pull request #149532 from pennae/split-docs-build
nixos/*: split docs build
2022-01-04 22:33:23 +01:00
pennae 1301bdb185 nixos/make-options-doc: turn relatedPackages into links
link to search.nixos.org instead of pulling package metadata out of pkgs. this
lets us cache docs of a few more modules and provides easier access to package
info from the HTML manual, but makes the manpage slightly less useful since
package description are no longer rendered.
2022-01-02 19:46:13 +01:00
pennae fc614c37c6 nixos/documentation: split options doc build
most modules can be evaluated for their documentation in a very
restricted environment that doesn't include all of nixpkgs. this
evaluation can then be cached and reused for subsequent builds, merging
only documentation that has changed into the cached set. since nixos
ships with a large number of modules of which only a few are used in any
given config this can save evaluation a huge percentage of nixos
options available in any given config.

in tests of this caching, despite having to copy most of nixos/, saves
about 80% of the time needed to build the system manual, or about two
second on the machine used for testing. build time for a full system
config shrank from 9.4s to 7.4s, while turning documentation off
entirely shortened the build to 7.1s.
2022-01-02 19:46:13 +01:00
Martin Weinelt b8149a7f04
Merge pull request #152907 from dotlambda/python2-remove 2022-01-02 01:33:57 +01:00
Morgan Jones 38ee2de29d nixos/mattermost: update service for 6.0+ 2021-12-31 23:49:00 -05:00
Morgan Jones c37cb3b243 nixos/mattermost: silence startup warnings from chmod/chown; improve API 2021-12-31 23:49:00 -05:00
Morgan Jones 7cf6855c7f nixos/mattermost: Simplify plugin derivation build, improve startup perf 2021-12-31 23:49:00 -05:00
Morgan Jones 73fc80e0d7 nixos/mattermost: Support declarative Mattermost plugins 2021-12-31 23:49:00 -05:00
Morgan Jones 174b340406 nixos/mattermost: add preferNixConfig option and tests
One use case for Mattermost configuration is doing a "mostly
mutable" configuration where NixOS module options take priority
over Mattermost's config JSON.

Add a preferNixConfig option that prefers configured Nix options
over what's configured in Mattermost config if mutableConfig is set.

Remove the reliance on readFile (it's flake incompatible) and use
jq instead.

Merge Mattermost configs together on Mattermost startup, depending
on configured module options.

Write tests for mutable, mostly mutable, and immutable configurations.
2021-12-31 23:49:00 -05:00
Robert Schütz a859ef91f0
trac, nixos/trac: remove
They have been broken for multiple releases.
2022-01-01 02:09:09 +01:00
Martin Weinelt 5dd90167ce nixos/moinmoin, nixos/tests/moinmoin, python2Packages.moinmoin: remove
Stuck on python2 and the NixOS test has been failing for 6 months.
2021-12-31 16:39:24 -08:00
Lucas Savva 8d01b0862d
nixos/acme: Update documentation
- Added defaultText for all inheritable options.
- Add docs on using new defaults option to configure
  DNS validation for all domains.
- Update DNS docs to show using a service to configure
  rfc2136 instead of manual steps.
2021-12-26 16:49:55 +00:00
Graham Christensen 06edb74413
Merge pull request #148785 from pennae/more-option-doc-staticizing
treewide: more defaultText for options
2021-12-17 11:14:08 -05:00
Flakebi 368b22d09b powerdns-admin: fix and add module
- Add the migrations directory to the package
- Add postgres support to the package
- Add a service for powerdns-admin

Co-authored-by: Zhaofeng Li <hello@zhaofeng.li>
2021-12-17 10:33:40 +01:00
Nikolay Amiantov 497d334c14 youtrack service: restart on failure 2021-12-15 01:40:00 +03:00
Maciej Krüger 891f2053a0
nixos/keycloak: add plugins option
Co-authored-by: Kim Lindberger <kim.lindberger@gmail.com>
2021-12-13 17:49:58 +01:00
Malte 7c43256291 nixos/nextcloud: update warning for MariaDB >= 10.6 2021-12-13 13:25:21 +01:00
Guillaume Girol 57f7f3a87b
Merge pull request #148696 from MasseR/master
Fix the syntax error on tt-rss config file
2021-12-11 20:57:15 +00:00
Mats Rauhala 0eaecd60cb tt-rss-module handle situations without any password 2021-12-11 15:02:27 +02:00
Mats Rauhala de16da59f2 Fix the syntax error on tt-rss config file 2021-12-11 15:02:27 +02:00
Simon Bruder 35ed694793
nixos/invidious: remove syslog.target from service
It has been removed from systemd, see #149721.
2021-12-11 08:28:20 +01:00
Aaron Andersen ffa3ebb1f7
Merge pull request #149624 from dali99/fix_dokuwiki_php
nixos/dokuwiki: Use php74 for the phpfpm pool
2021-12-08 22:21:25 -05:00
pennae e67a646a92 treewide: add defaultText to remaining options
these are mostly options that use alias bindings, bindings to constants,
or bindings to calculated values.
2021-12-09 01:42:24 +01:00
pennae 9407761763 treewide: add defaultText for options using other shortcut bindings 2021-12-09 01:42:24 +01:00
pennae 2d564521c0 treewide: add literalDocBook text to options with complex defaults
some options have default that are best described in prose, such as
defaults that depend on the system stateVersion, defaults that are
derivations specific to the surrounding context, or those where the
expression is much longer and harder to understand than a simple text
snippet.
2021-12-09 01:38:24 +01:00
pennae e72435e612 treewide: make option descriptions constants
escape interpolations in descriptions where possible, replace them with
sufficiently descriptive text elsewhere. also expand cfg.* paths in
descriptions.
2021-12-09 01:21:04 +01:00
pennae ed673a69db treewide: add defaultText for options with simple cfg.* expression defaults
adds defaultText for options with defaults that use only literals, full config.*
paths, and the cfg shortcut binding.
2021-12-09 01:14:16 +01:00
pennae e24a8775a8 treewide: set defaultText for options using simple path defaults
adds defaultText for all options that set their default to a path expression
using the ubiquitous `cfg` shortcut bindings.
2021-12-09 01:12:13 +01:00
Daniel Olsen 1681c0b49e nixos/dokuwiki: Use php74 for the phpfpm pool
php8 does not work and is not supported
2021-12-08 20:22:12 +01:00
Kim Lindberger 9bf94de535
Merge pull request #147506 from talyz/discourse-2.8.0.beta8
discourse: 2.7.9 -> 2.8.0.beta9
2021-12-08 18:15:48 +01:00
talyz 125bb7dac1
discourse: Don't patch the public path
Instead of patching the path to /public in Discourse's sources, make
the nginx configuration refer to the symlink in the discourse
package which points to the real path.

When there is a mismatch between the path nginx serves and the path
Discourse thinks it serves, we can run into issues like files not
being served - at least when sendfile requests from the ruby app are
processed by nginx. The issue I ran into most recently is that backup
downloads don't work.

Since Discourse refers to the public directory relative to the Rails
root in many places, it's much easier to just sync this path to the
nginx configuration than trying to patch all occurrences in the
sources. This should hopefully mean less potential for breakage in
future Discourse releases, too.
2021-12-06 14:21:39 +01:00
Robert Hensing 862d167f17
Merge pull request #147441 from pennae/option-doc-staticizing
nixos/*: add trivial defaultText to options where applicable
2021-12-06 01:35:38 +01:00
pennae 2512455639 nixos/*: add trivial defaultText for options with simple defaults 2021-12-02 22:35:04 +01:00
Ilan Joselevich c0f4b20db7 nextcloud23: init at 23.0.0 2021-12-02 20:53:21 +02:00
talyz ab042d6452
discourse.plugins: Update all plugins to their latest versions
Also, add support for updating plugins which keep gem versions in
files at the root of the repo (discourse-prometheus) and replace the
`up-plugin.sh` script with a README file pointing to the plugin
packaging documentation.
2021-12-02 10:43:14 +01:00
talyz e2415dbb8f
discourse: 2.7.9 -> 2.8.0.beta9
Update to the latest beta, since upstream advocates for it. See
https://github.com/NixOS/nixpkgs/issues/146308 for more info.
2021-12-02 10:31:00 +01:00
Rok Garbas e3cd002ada
Merge pull request #145049 from fernsehmuell/patch-1
add opcache to list of php packages
2021-11-22 06:15:57 -08:00
Sandro 312a3af375
Merge pull request #145257 from astro/openwebrx 2021-11-13 02:43:01 +01:00
Maximilian Bosch dbe1a4804d
Merge pull request #145192 from happysalada/plausible_add_release_cookie
plausible: add remote connection with iex
2021-11-11 18:24:10 +01:00
Sandro d3f2137f5c
Merge pull request #144250 from aanderse/nixos/zabbixWeb 2021-11-11 15:21:09 +01:00
Astro f1020d20fa nixos/openwebrx: init 2021-11-10 23:42:18 +01:00
xaverdh 03a257e5a3
treewide: quote urls according to rfc 0045 (#145260)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-11-10 11:37:56 +01:00
Maciej Krüger 11f1d8620a
nixos/matomo: delete tmp folder to fix borked upgrades 2021-11-09 15:14:31 +01:00
Maciej Krüger 769f20e20a
nixos/matomo: allow changing hostname easily 2021-11-09 15:10:01 +01:00
happysalada aff0f5792b plausible: add remote connection with iex 2021-11-09 08:15:53 -05:00
Maximilian Bosch 25e6a0ad62
Merge pull request #143345 from happysalada/update_plausible
plausible: 1.3.0 -> 1.4.0
2021-11-08 23:48:53 +01:00
fernsehmuell 4fe305186d
add opcache to list of php packages
opcache is used later, but was never added to phpExt.
2021-11-08 10:29:16 +01:00
Izorkin d1a8806e39 nixos/mastodon: allow '@resources' filter to mastodon-web service 2021-11-07 11:59:36 +01:00
Izorkin a71576b07b nixos/mastodon/streaming: add '@memlock' SystemCallFilter 2021-11-06 16:45:20 +01:00
Izorkin 91e510ae22 nixos/mastodon: add '@ipc' SystemCallFilter 2021-11-06 16:45:20 +01:00
Izorkin 700ea62f54 nixos/mastodon: remove duplicates SystemCallFilters 2021-11-06 16:45:20 +01:00
Izorkin 943f15d4b7 nixos/mastodon: add new sandboxing options 2021-11-06 16:45:20 +01:00
happysalada 9c71958cfa plausible: use loadcredentials
plausible: service fixes, remove console attempt

plausible: fix yarn.nix call
2021-11-06 09:15:19 -04:00
Aaron Andersen 0c5d86b18c
Merge pull request #135601 from stackshadow/code-server-bin
code-server: init code-server-module
2021-11-03 22:15:26 -04:00
Aaron Andersen 5d7683fcae nixos/zabbixWeb: remove added whitespace to the passwordFile option 2021-11-02 10:35:55 -04:00
Jonas Heinrich 50029ed89c nixos/dokuwiki: add missing option enable 2021-11-02 09:23:06 +09:00
Martin f4d551c0d4 maintainer: add stackshadow 2021-11-01 18:47:04 +01:00
Martin e620c32e59 code-server: init code-server-module 2021-11-01 18:46:57 +01:00
Guillaume Girol 9545fade8b
Merge pull request #142743 from symphorien/ihm-5-dev-2
python3.pkgs.ihatemoney: 4.2 -> 5.1.1
2021-10-31 19:32:40 +00:00
Maximilian Bosch aaeba3c577
Merge pull request #143840 from maralorn/nextcloud-cron
nixos/nextcloud: Adapt cron frequency to changed upstream requirement
2021-10-31 15:50:47 +01:00
Silvan Mosberger f1447fdaa8
nixos/invidious: init
Co-authored-by: Simon Bruder <simon@sbruder.de>
2021-10-30 16:33:38 +02:00
Malte Brandy 868157b9d6
nixos/nextcloud: Adapt cron frequency to changed upstream requirement
https://docs.nextcloud.com/server/22/admin_manual/configuration_server/background_jobs_configuration.html

Says that the job should be run every 5 minutes.
Nextcloud shows a warning in the settings screen whenever the last run
was more than 10 minutes ago.
2021-10-30 14:22:22 +02:00
Mario Rodas e49cd51ebc
Merge pull request #142672 from truh/update/plantuml-server_1.2021.12
plantuml-server: 1.2021.7 -> 1.2021.12
2021-10-30 04:44:16 -05:00
happysalada a8f9539d01 lemmy: systemd postgresql setup service cleanup 2021-10-30 09:16:09 +09:00
Guillaume Girol e28414b63d python3.pkgs.ihatemoney: 4.2 -> 5.1.1 2021-10-28 18:37:11 +02:00
Guillaume Girol 6faa5581fd
Merge pull request #113198 from Izorkin/update-mastodon-mail
nixos/mastodon: fix send e-mail notifications
2021-10-27 18:20:18 +00:00
Maximilian Bosch 55e25f7840
Merge pull request #142800 from Ma27/drop-nextcloud-20
nextcloud20: drop
2021-10-27 13:11:06 +02:00
Maximilian Bosch 04fdff2517
nixos/nextcloud: drop obsolete assertion 2021-10-27 12:54:04 +02:00
Izorkin 1d948428c8
nixos/mastodon: fix send e-mail notifications 2021-10-26 10:59:39 +03:00
Cleeyv 917c5fae70 nixos/jibri: fix & docs for enable not via meet 2021-10-25 20:46:24 -04:00
Cleeyv ff8ed90033 nixos/jitsi-meet: add jibri.enable
This option enables a jibri service on the same host that is running
jitsi-meet. It was written, along with the jibri module, by @puckipedia
for nixcon-video-infra 2020.
Co-authored-by: Puck Meerburg <puck@puck.moe>
2021-10-25 20:46:24 -04:00
Izorkin 4c092350ed nixos/peertube: init service
Co-authored-by: Moritz Hedtke <Moritz.Hedtke@t-online.de>
Co-authored-by: Steven Roose <steven@stevenroose.org>
Co-authored-by: Matthias Beyer <mail@beyermatthias.de>
Co-authored-by: Ismaël Bouya <ismael.bouya@normalesup.org>
2021-10-25 13:12:30 +09:00
Maximilian Bosch e1e15974f8
nextcloud20: drop
The version 20 of Nextcloud will be EOLed by the end of this month[1].

Since the recommended default (that didn't raise an eval-warning) on
21.05 was Nextcloud 21, this shouldn't affect too many people.

In order to ensure that nobody does a (not working) upgrade across
several major-versions of Nextcloud, I replaced the derivation of
`nextcloud20` with a `throw` that provides instructions how to proceed.

The only case that I consider "risky" is a setup upgraded from 21.05 (or
older) with a `system.stateVersion` <21.11 and with
`services.nextcloud.package` not explicitly declared in its config. To
avoid that, I also left the `else-if` for `stateVersion < 21.03` which
now sets `services.nextcloud.package` to `pkgs.nextcloud20` and thus
leads to an eval-error. This condition can be removed
as soon as 21.05 is EOL because then it's safe to assume that only
21.11. is used as stable release where no Nextcloud <=20 exists that can
lead to such an issue.

It can't be removed earlier because then every `system.stateVersion <
21.11` would lead to `nextcloud21` which is a problem if `nextcloud19`
is still used.

[1] https://docs.nextcloud.com/server/20/admin_manual/release_schedule.html
2021-10-25 01:34:47 +02:00
Sebastian dc0769c63c
nixos/bookstack: fix error message output (#142729) 2021-10-24 18:13:54 +08:00
Jakob Klepp 5d5a5fce90 nixos/plantuml-server: use graphviz instead of graphviz_2_32
The plantuml package made this change as well

e785e1b24b
2021-10-23 17:49:05 +02:00
Maciej Krüger b11e0a853a
Merge pull request #142084 from mkg20001/hedge 2021-10-19 15:23:45 +02:00
Maciej Krüger cb7459c286
nixos/hedgedoc: add more options for oauth2 2021-10-18 14:20:51 +02:00
happysalada af1ac44440 jitsi: add caddy reverse proxy option 2021-10-18 19:11:32 +09:00
Maximilian Bosch 3498c5ff3c
nixos/nextcloud: build manual without warnings 2021-10-09 22:45:39 +02:00
Maximilian Bosch 1ee008fcb5
nixos/nextcloud: fixup #119638
A few minor changes to get #119638 - nextcloud: add option to set
datadir and extensions - ready:

* `cfg.datadir` now gets `cfg.home` as default to make the type
  non-nullable.
* Enhanced the `basic` test to check the behavior with a custom datadir
  that's not `/var/lib/nextcloud`.
* Fix hashes for apps in option example.
* Simplify if/else for `appstoreenable` in override config.
* Simplify a few `mapAttrsToList`-expressions in
  `nextcloud-setup.service`.
2021-10-09 22:45:31 +02:00
Maximilian Bosch 7856e40da6
nixos/nextcloud: fix wording in manual 2021-10-09 20:52:52 +02:00
Robbert Gurdeep Singh 1852212872
nixos/nextcloud: fail systemd-service if apps don't activate 2021-10-09 20:33:17 +02:00
Robbert Gurdeep Singh 18b18929d7
nixos/nextcloud: add settings to manage nextcloud apps
Note the appstoreEnable which will prevent nextcloud form updating
nix-managed apps. This is needed because nextcloud will store an other
version of the app in /var/lib/nextcloud/store-apps and it will
no longer be manageable.
2021-10-09 20:33:16 +02:00
Robbert Gurdeep Singh 7ba02a7b1e
nixos/nextcloud: add services.nextcloud.datadir setting
This option can be used to set an alternative storage location for
files and app metadata.
2021-10-09 20:33:13 +02:00
Maximilian Bosch 80404a23c9
Merge pull request #140775 from Ma27/nextcloud-docs-and-secrets
nixos/nextcloud: manual improvements & pass secrets via the environment to `nextcloud-occ`
2021-10-09 20:01:15 +02:00
Maximilian Bosch f57bed8832
nixos/nextcloud: drop adminpass/dbpass options entirely 2021-10-08 18:30:57 +02:00
ajs124 ae53e57a7a
Merge pull request #133141 from helsinki-systems/feat/jitsi-meet-websocket
nixos/jitsi-meet: add support for xmpp-websocket
2021-10-08 16:51:00 +02:00
Alexandre Iooss 1c659c9958
nixos/isso: systemd unit hardening 2021-10-07 10:48:52 +02:00
Maximilian Bosch 9f37d6aee0
nixos/nextcloud: put secrets into the environment of nextcloud-setup.service
The `$(</path/to/file)`-expansion appears verbatim in the cmdline of
`nextcloud-occ` which means that an unprivileged user could find
sensitive values (i.e. admin password & database password) by monitoring
`/proc/<pid>/cmdline`.

Now, these values don't appear in a command line anymore, but will be
passed as environment variables to `nextcloud-occ`.
2021-10-06 18:18:18 +02:00
Maximilian Bosch fb40526961
nixos/nextcloud: minor manual improvements
* Linkify documentation about objectstore-feature rather than only
  mentioning it.
* Use `<literal>` where it makes sense.
* Remove unnecessary `Whether to load` from `enableImagemagick` because
  `mkEnableOption` already prepends `Whether to enable` to the given
  description.
2021-10-06 17:33:31 +02:00
Bill Ewanick cc3b147ed1 nixos/lemmy: init
Co-authored-by: Raphael Megzari <raphael@megzari.com>
2021-10-06 21:02:51 +09:00
Maximilian Bosch f8feb1ad27
Merge pull request #139604 from mitchmindtree/nextcloud-objectstore
nixos/nextcloud: Add option for using object storage as primary storage
2021-10-05 20:52:24 +02:00
mitchmindtree c5d08ebee1 nixos/nextcloud: Fix ambiguity in objectstoreConfig string
Previously this was a little tricky to read and had the potential to
cause some ambiguity in string parsing.
2021-10-05 17:07:44 +10:00
Naïm Favier 2ddc335e6f
nixos/doc: clean up defaults and examples 2021-10-04 12:47:20 +02:00
mitchmindtree a539a82707 nixos/nextcloud: Account for nix_read_secret refactor in exception msg
Previously, the `nix_read_pwd` function was only used for reading the
`dbpassFile`, however it has since been refactored to handle reading
other secret files too. This fixes the message of the exception that is
thrown in the case that the file is not present so that it no longer
refers specifically to the `dbpass` file.
2021-10-03 17:29:13 +10:00
mitchmindtree fbffaddefe nixos/nextcloud: Make objectstore.s3.useSsl explicitly true by default
This appears to match the nextcloud default behaviour observed here:

e2116e2fb2/lib/private/Files/ObjectStore/S3ConnectionTrait.php (L83)
2021-10-03 16:38:56 +10:00
mitchmindtree b23d6a4113 nixos/nextcloud: Simplify objectstore.s3 options, remove submodule
Removes the submodule in favour of using an attrset.

Also:

- Makes better use of nix's laziness in config expansion.
- Makes use of `boolToString` where applicable.
2021-10-03 16:38:03 +10:00
mitchmindtree 03171ae31a nixos/nextcloud: Remove objectstore.s3.secret option
We should discourage users from adding secrets in a way that allows for
them to end up in the globally readable `/nix/store`. Users should use
the `objectstore.s3.secretFile` option instead.
2021-10-03 12:52:13 +10:00
mitchmindtree 1ed93ac4a1 nixos/nextcloud: Add option for using object storage as primary storage
This allows to declaratively configure an S3 class object storage as the
primary storage for the nextcloud service. Previously, this could only
be achieved by manually editing the `config.php`.

I've started testing this today with my own digitalocean nextcloud
instance, which now points to my digitalocean S3-compatible "Space" and
all appears to be working smoothly.

My motivation for this change is my recent discovery of how much cheaper
some S3-compatible object storage options are compared to digitalocean's
"Volume" options.

Implementation follows the "Simple Storage Service" instructions here:

https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html

I have neglected to implement a submodule for the OpenStack Swift
object storage as I don't personally have a use case for it or a method
to test it, however the new `nextcloud.objectstore.s3` submodule should
act as a useful guide for anyone who does wish to implement it.
2021-10-03 12:52:06 +10:00
Maximilian Bosch cdb48d75c0
Merge pull request #140159 from Ma27/nextcloud-misc
nextcloud: misc changes
2021-10-01 21:08:31 +02:00
Maximilian Bosch 66edc1e846
nixos/nextcloud: use php8 where possible 2021-10-01 17:03:09 +02:00
Maximilian Bosch 675e262f5a
nixos/nextcloud: temp fix for MariaDB >=10.6
The MariaDB version 10.6 doesn't seem supported with current Nextcloud
versions and the test fails with the following error[1]:

    nextcloud # [   14.950034] nextcloud-setup-start[1001]: Error while trying to initialise the database: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.

According to a support-thread in upstream's Discourse[2] this is because
of a missing support so far.

Considering that we haven't received any bugreports so far - even though
the issue already exists on master - and the workaround[3] appears to
work fine, an evaluation warning for administrators should be
sufficient.

[1] https://hydra.nixos.org/build/155015223
[2] https://help.nextcloud.com/t/update-to-next-cloud-21-0-2-has-get-an-error/117028/15
[3] setting `innodb_read_only_compressed=0`
2021-10-01 15:25:31 +02:00
happysalada 8346dc04b3 pict-rs: add initial module 2021-09-30 21:32:25 +09:00
Flakebi 6ca43a69cc
dex-oidc: add module 2021-09-25 13:12:51 +02:00
Kim Lindberger 0686c40309
Merge pull request #139180 from ryantm/dev/ryantm/discourse-tmp
discourse: enable restoring backups bigger than RAM
2021-09-24 14:31:46 +02:00
Ryan Mulligan f933c68374 discourse: enable restoring backups bigger than RAM
When restoring a backup, discourse decompresses the backup archive in
the /share/discourse/tmp dir. Before this change, it is linked to /run
which is typically backed by memory, so the backup will fail to
restore if you do not have enough memory on your system to contain the
backup. This has already happened to me on two small forums.

This moves tmp to the StateDirectory /var/lib/discourse/tmp which is
typically backed by disk.
2021-09-23 09:59:31 -07:00
Ryan Mulligan 6a9003f316 nixos/discourse: add discourse.admin.skipCreate option 2021-09-21 16:45:59 -07:00