Are there any differences between the ubos-target container and a typical UBOS production system?
/docs/developers/faq/container-differences/
The ubos-target
container is very similar to a typical UBOS production system,
on either virtualized or physical hardware.
The main differences are:
btrfs
file system
UBOS production systems take advantage of the btrfs
filesystem, such as
to create file system snapshots during system administration operations with
ubos-admin
. Docker provides its own filesystem, and so these features are
not available.
Impact LOW: As an App or Accessory developer, this should not impact you at all, as your code is unlikely to depend on specific filesystem features.
Unsigned packages
The ubos-target
container allows you to install Packages
that are not digitally signed. This is not permitted on production systems.
Impact LOW: It makes your life easier as a developer, and does not impact the user.
Networking
Docker performs its own networking, with complex port forwarding setups, firewall rules and the like. Those are different on UBOS production systems.
Impact HIGH: if your App or Accessory communicates on ports other than port 80 (HTTP) and 443 (HTTPS), you must test your software on a non-Docker system before releasing it.
Specifically, requesting UBOS to open up extra ports cannot be tested in a Docker container, and must be tested outside of Docker.