Start9 0.4.0 Beta9 => System Upgrade to 0.4.0

Hi,

I’m running Start9 0.4.0 Beta 9. Today appeared a StartOS system update.

Before the update it shows the WARNING below.

I think the update is not aware that I’m already on Start9 0.4.0, and not on 0.3.5.1.

Being already on 0.4.0 Beta 9, I guess backups should be compatible. Not sure if need to follow the same process as I did when updating from 0.3.5.1 to 0.4.0 Beta9

Anybody has any details about this ?

Any help appreciated.

Thanks



StartOS v0.4.0

Warning

Previous backups are incompatible with v0.4.0. It is strongly
recommended that you (1) immediately update all services, (2) start them
and let each run until it reports healthy — some services finish
updating on first start — and then (3) create a fresh backup.

Summary

StartOS v0.4.0 is a ground-up rewrite focused on reliability,
security, and correctness. Every major subsystem — networking,
containers, storage, backups, and the UI — has been redesigned to
provide a stronger foundation for self-hosted computing. Start9 has
always taken a “security and reliability first” approach to the
development of StartOS, favoring soundness over speed, and prioritizing
essential features such as encrypted network connections, simple
backups, and a reliable container runtime over nice-to-haves like custom
theming and more services.

Start9 is paving new ground with StartOS, trying to create what most
developers and IT professionals thought impossible: an OS and user
experience that affords a normal person the same independent control
over their data and communications as an experienced Linux sysadmin.

The difficulty of our endeavor requires making mistakes, and our
integrity and dedication to excellence require that we correct them.
This means a willingness to discard bad ideas and broken parts, and if
absolutely necessary, to tear it all down and start over. That is
exactly what we did with StartOS v0.2.0 in 2020. It is what we did with
StartOS v0.3.0 in 2022. And we are doing it now with StartOS v0.4.0 in
2026.

v0.4.0 is a complete rewrite of StartOS — almost nothing survived.
After nearly six years of building StartOS, we believe we have finally
arrived at the correct architecture and foundation to deliver on the
promise of sovereign computing.

Changelog

User Experience

New User Interface

The StartOS UI has been rewritten to be more performant, more intuitive, and better looking on both mobile and desktop.

Internationalization

StartOS v0.4.0 and available services now support multiple languages and keyboard layouts.

Improved Actions

Actions accept arbitrary form input and return arbitrary responses,
replacing the old “Config” and “Properties” concepts, which have been
removed. The new Actions API gives package developers the ability to
break configuration and properties into smaller, more specific forms —
or to exclude them entirely without polluting the UI. Improved form
design and new input types round out the experience.

Progress Reporting

A new progress reporting API enables package developers to define
custom phases and provide real-time progress updates for operations such
as installing, updating, or backing up a service.

System Metrics Dashboard

The new dashboard displays real-time CPU, memory, and disk usage, as
well as service uptime, giving you an at-a-glance view of your server’s
health.

Cancel Install

Service installations can now be cancelled while in progress.

Custom Server Name

You can now set a custom name for your server, making it easier to identify when managing multiple servers.

Email Notifications via SMTP

You can now add your Gmail, SES, or other SMTP credentials to StartOS
to deliver email notifications from StartOS and from installed services
that support SMTP.

Networking & Connectivity

Service Interfaces on Unique Ports

Perhaps the biggest complaint with prior versions of StartOS was the use of unique .local
URLs for service interfaces. This has been corrected. Service
interfaces are now available on unique ports, supporting non-HTTP
traffic on the LAN as well as remote access via VPN.

Gateways

Gateways connect your server to the Internet, facilitating inbound
and outbound traffic. It is now possible to add Wireguard VPN gateways
to your server to control how devices outside the LAN connect to your
server and how your server connects out to the Internet. Outbound
traffic can also be overridden on a per-service basis.

Private Domains

A private domain is like your server’s .local address, except it also works over VPN, and it can be anything — a real domain you control, a made-up domain, or even a domain controlled by someone else.

Like your local domain, private domains can only be accessed when
connected to the same LAN as your server, either physically or via VPN,
and they require trusting your server’s Root CA.

Public Domains (Clearnet)

It is now easy to expose service interfaces to the public Internet on a domain you control. There are two options:

  1. Open ports on your router. When your router
    supports automatic port control (PCP, NAT-PMP, or UPnP), StartOS opens
    the required port for you; otherwise you add the forward manually. This
    option is free, but your home IP address is revealed to anyone accessing
    an exposed interface.

  2. Use a Wireguard reverse tunnel, such as StartTunnel,
    to proxy web traffic. This option requires renting a $5–$10/month VPS
    and installing StartTunnel (or similar). The result is a virtual router
    in the cloud that you can use to expose service interfaces instead of
    your real router, hiding your IP address from visitors.

Let’s Encrypt

StartOS now supports Let’s Encrypt to automatically obtain SSL/TLS
certificates for public domains. Visitors to your public websites and
APIs will no longer need to download and trust your server’s Root CA.

Internal DNS Server

StartOS runs its own DNS server and automatically adds records for
your private domains. You can configure your router or other gateway to
use the StartOS DNS server to resolve these domains locally.

Static DNS Servers

By default, StartOS uses the DNS servers it receives via DHCP from
its gateway(s). It is now possible to override these with custom, static
DNS servers.

StartTunnel

StartTunnel
is a free, open-source tool that turns a cheap VPS into a Wireguard
reverse tunnel for your server. It hides your home IP address from
visitors while giving you full control over your public-facing domains.
StartTunnel instances can also be updated over-the-air.

Tor as a Plugin

With the expanded networking capabilities of StartOS v0.4.0, Tor is
now an optional plugin that can be installed from the Marketplace. Users
can run their own Tor relay, route outbound connections through Tor,
and generate hidden service URLs for any service interface, including
vanity addresses.

Tor Address Management

StartOS v0.4.0 supports adding and removing Tor addresses for both
StartOS itself and all service interfaces. You can even provide your own
private key instead of using one auto-generated by StartOS, enabling
vanity addresses.

System & Infrastructure

Btrfs Filesystem

StartOS now uses btrfs instead of ext4, enabling copy-on-write snapshots and improved data integrity.

Cross-Server Backup Restore

Backups created on one server can now be restored onto a different
server, making it easier to migrate or recover from hardware failure.

Rollback on Failed Updates

Service data is automatically snapshotted before updates and restored
if the update fails, preventing data loss from failed upgrades.

Serial Console Support

StartOS now enables serial console access for hardware that supports
it, enabling headless operation and management without a monitor or
keyboard.

RISC-V Support

StartOS now supports the RISC-V RVA23 architecture, with RVA23 disk images available to download.

LXC Container Runtime

Neither Docker nor Podman offer the reliability and flexibility
needed for StartOS. Instead, v0.4.0 uses a nested container paradigm
based on LXC for the outer container and Linux namespaces for
sub-containers. This architecture naturally supports multi-container
setups.

Hardware Acceleration

Services can take advantage of — and require — the presence of
certain hardware modules, such as Nvidia GPUs, for transcoding or
inference. For example, StartOS and Ollama can run natively on the
Nvidia DGX Spark and take full advantage of its hardware and firmware
stack to perform local inference against open source models.

Squashfs Images for OS Updates

StartOS now uses squashfs images instead of rsync for OS updates, enabling better update verification and improved reliability.

Replaced PostgreSQL with PatchDB

StartOS itself has minimal data persistence needs. PostgreSQL was overkill and has been replaced with the lightweight PatchDB.

Improved Backups

The new backup-fs FUSE module unifies filesystem
expectations across platforms, enabling more reliable backups. The
system now defaults to rsync differential backups instead of incremental
backups, which is both faster and more space-efficient — files deleted
from the server are also deleted from the backup.

SSH Password Authentication

You can now SSH into your server using your master password. SSH public key authentication is still supported as well.

Developer Experience

New S9PK Archive Format

The S9PK archive format has been overhauled to support signature
verification of partial downloads and direct mounting of container
images without unpacking the archive.

TypeScript Package API and SDK

Package developers can now interact with StartOS APIs using the new start-sdk,
available in TypeScript. A barebones StartOS package (S9PK) can be
produced in minutes with minimal knowledge or skill. More advanced
developers can use the SDK to create highly customized user experiences
for their services.

Remote Container Attach

Developers can now remotely attach to a running service container for live debugging and troubleshooting.

Registry Protocol

The new registry protocol separates package indexing (listing and
validation) from package hosting (downloading). Registries are now
simple indexes that reference binaries hosted in arbitrary locations,
locally or externally. For example, when someone visits the Start9
Registry, the curated list of packages comes from Start9, but when they
install a service, the binary is fetched from wherever it is hosted —
typically a CDN, with a GitHub release as a fallback mirror — and
StartOS verifies it against the signature the registry provides. This
makes it much easier to host a custom registry, since it is just a
curated list of services that reference package binaries hosted on
GitHub or elsewhere.

Exver and Service Flavors

StartOS now uses Extended Versioning (Exver), which consists of three
parts: (1) a semver-compliant upstream version, (2) a semver-compliant
wrapper version, and (3) an optional “flavor” prefix. Flavors are
alternative implementations of a service where a user would typically
want only one installed, and data can be migrated between them. Flavors
commonly satisfy the same dependency API for downstream packages, though
this is not strictly required. A valid Exver looks like: #knots:29.0:1.0-beta.1 — the first beta release of StartOS wrapper version 1.0 of Bitcoin Knots version 29.0.

Typically people running v0.4.0 Beta 9 would be considered technically proficient enough to understand that this message is aimed at users of v0.3.5.1 who are completely unfamiliar with v0.4.0.

In your case, you only really need to take into account the V2 backups part.