Because the detection of the webroot is not that good, it was removed.
Now, the object id contains the full path of the nextcloud installation.
This changes the installation process a bit, as it will download the
tarball to /tmp rather the webroot.
Also, this commit contains a bit overhaul work.
This now checks the configuration value exactly and does not say there
are equal if just the end of the string differs.
Resulting from this, it will run code the next run if the default port
was in a database migration. This was fixed by instantly correct this
configuration value.
The type now handles the case when the data directory will be moved to
an other location. To this, adjustment to the "maintainer mode" on
setting and the manpage.
Some database parameters are required if the type is `mysql` or `pgsql`.
Also, the variants of the parameter --database-type decreased to those
that work with the configuration, as it is directly mapped to the
parameter.
The functions in `map-conf-changes.sh` where extended to support the
conditional mandatory argument to throw an error if this parameter is
set.
This commit changes the manifest to do not check for too low versions
and does not download and unpack a tarball if available if the parameter
--install-only is set. This should make it useable now.
Also, a short message change to match the manual.
This type should work, but there are still many things to do here to
work nice and well.
Things that currently not work (well):
- not all parameters work for now
- nextcloud installations in subfolders (e.g. slashes in the object id)
Now, the python venv is now created via `pyvenv` or `python3 -m venv`
instead of the legacy `virtualenv`. For this, not all python processes
from the venv need to be stopped.
Migration from previous versions of this type may be difficult, but
solvable if the venv will be recreated.
The Gunicorn type now supports systemd sockets only. With uWSGI, you can
choose between it and the native sockets based on the parameters chosen.
This is done because it could not be implemented to have multiple
protocols with the systemd sockets (so you may choose).
The systemd socket unit file is generally available, so both types use
the same script to generate the socket unit file.
Changed flag (force to ignore a non-existant directory), typo and
swapped arguments are done. Also, the process to stop all processes from
the virtal environment has changed: Now, it stops all potential services
and ignore errors (because a service doesn't exist).
After that, it sends a kill signal to all processes and then gracefully
wait since there is no option to do that with systemd.
The default value is set to preserve all data saved by netbox. As
explained in the manpage, it sets the directory for all data directories
to `~netbox/data/` (would resolve to `/opt/netbox/data/`), so upgrades
will not remove this data.