2019-09-01
Release notes: UBOS Linux update 2019-09-01
/releases/2019-09-01/release-notes/
To upgrade
To be safe, first create a backup of all your sites to a suitable file, with a command such as:
sudo ubos-admin backup --backuptodirectory ~
(Note that after this update, you also need to specify --all; see below.)
Then, update your device:
sudo ubos-admin update -v
Please refer to the main documentation for details.
New and improved functionality for users:
-
Command
ubos-admin statushas become much more useful, for users to determine the health of their device, and to make customer support simpler. Specifically:-
by default, it shows a summary of all there is to know about the device, such as the type of the device, which disks are attached, how much space is used on those disks, when the device was last updated, and whether there are any known problems with the device.
-
optional flags (such as
--problems) allow to easily zoom into specific areas.
-
-
Backups have become faster, as UBOS now applies a heuristic on which files to compress and which to use as-is in the backup file, as some file formats are compressed already.
-
Integration with the LetsEncrypt certificate authority has been significantly improved, and various bugs have been fixed:
-
When we tested a LetsEncrypt-protected site running on UBOS with the tools provided by SSL Labs, we obtained an “A” rating. All other LetsEncrypt-protected sites running on UBOS should, too, after this upgrade.
-
When backing up a LetsEncrypt-protected site, it can be easily restored to a different hostname: UBOS will automatically obtain a certificate for the new hostname.
-
When undeploying LetsEncrypt-protected sites, UBOS now stashes still-valid certificates, and reuses them when such a Site is redeployed on the same device. This avoids running into rate-limiting features by LetsEncrypt that you may encounter when performing many systems administration tasks in a rapid sequence, for example.
-
UBOS will not use an expired LetsEncrypt certificate to deploy a Site, or to restore a Site from backup; instead it will provision a new one.
-
Renewal of expiring certificates is now in-place, requiring no more manual steps.
-
UBOS now also automatically serves intermediate LetsEncrypt certs.
-
-
Integration with Pagekite for accessing a UBOS device behind a firewall has been further improved:
-
Pagekite secrets can now be specified interactively.
-
Wildcard sites are now supported.
-
-
Backing up with
ubos-admin backuphas been improved:-
Either the Site(s) or
--allmust be specified when backing up. This avoids the frequent user mistake of accidentally backing up all Sites on a multi-Site device by forgetting to specify which Site (only) was supposed to be backed up. -
The new
--resolveflag, inherited fromcurl, makes backing up over the network without official DNS entries (e.g. on a home LAN) much simpler. -
The upload to a network destination phase of
ubos-admin backup(after the backup to a local file stage is complete) no longer prevents the invocation of otherubos-admincommands.
-
-
ubos-admin showsitehas learned new tricks:-
with argument
--adminuser, information about the Site administrator is shown. This makes it easy to find out, for example, what the administrator username and password is for a deployed app like Nextcloud. -
Credentials and private customizationpoint values are not shown any more default. To see them, you need to explicitly specify argument
--credentialsor--privatecustomizationpoints.
-
-
ubos-admin showappconfignow also shows which Site the AppConfiguration belongs to. -
ubos-admin deploy --templatecan now automatically generate self-signed certificates if an empty"tls" : {}is provided in the Site JSON template. -
ubos-admin listsites --htmlemits HTML. -
ubos-admin createsitecan now use a Site JSON template file as a template, and will ask the user only about those values that aren’t already provided. -
ubos-installwill refuse to install to a mounted disk. However, it will now install to the target of a symbolic link. This makes installations more predictable by supporting destinations such as below/dev/disk/by-path. -
The UBOS Staff now lists the devices first that were most recently updated.
-
Logging in via
sshnow presents the UBOS banner. -
The VirtualBox image is now larger.
-
UBOS boots without the
quietkernel option. For the UBOS use cases, seeing more information during boot is better rather than less. -
The output of some
ubos-admincommands, such asubos-admin showsitehas become more concise; additional flags make it more verbose. -
Improved progress messages.
-
Various documentation improvements.
New and improved functionality for developers:
-
Apps can now require TLS by saying so in the UBOS Manifest. This makes it impossible to deploy the App to a Site not protected by (official, or self-signed) TLS.
-
Customizationpoints can now be of type
floatin addition to the previously available types. -
Customizationpoints can be marked as
internal, and if so, will not be shown to the user by default. That reduces user confusion and improves security related to customizationpoints such as password salts, or Redis credentials. -
Systemd service
smtp-server@<appconfigid>.serviceis now available so that apps that require a local SMTP service can say so without interfering with each other. -
A defined conflict resolution strategy has been implemented for when two apps deployed to the same Site request the same entries in the Site’s
.well-knowndirectory; depending on the entry, one takes preference over another, or the entries are merged. -
The
genericRole in the UBOS manifest may now specifydependsentries. -
By default, PHP allows access to both
/tmpand/ubos/tmp. -
The default Mariadb encoding is now
utf8mb4. -
The
webapptesttesting framework has new abilities:-
Flag
--tlsselfsignedruns the test over TLS with an automatically-generated, self-signed TLS certificate. -
webapptestcan now use Site JSON templates.
-
-
pacsanenow accepts relative path names.
Notable fixes:
-
Some networks have slow DNS servers, and that has caused some
iptablesrestarts to fail. This has been made more robust. -
Upgrades of deployed sites, or restores from backup now install new role dependencies declared in the manifest. They were previously ignored.
-
Pagekite now works with wildcard Sites.
-
WPA supplicant files are generated more defensively for higher user success with specifying WiFi credentials with the UBOS Staff.
Changes in shipped packages:
-
The Apache webserver was upgraded.
-
We only ship Node LTS, no other Node versions.
-
Monero was removed.
-
We removed the
ruby-rails-blogexample application for Ruby on Rails;deckois better, real-world example. -
Each device class supported by UBOS has a pre-installed specific package, such as
ubos-deviceclass-pc. -
A patched version of LetsEncrypt test Certificate Authority
pebbleships inos-experimental. It issues certificates with a very short expiration time, to help with testing.
Application updates:
There were minor updates to the following apps:
- Decko
- Matomo
- Mediawiki
- Nextcloud
- phpBB
- Wordpress