Wiki - 
https://fedoraproject.org/wiki/Changes/Web_Based_Remote_Installation_Support_For_Atomic_Desktops
Discussion thread -
https://discussion.fedoraproject.org/t/f45-change-proposal-web-based-remote-installation-support-for-atomic-desktops-self-contained/197426

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.


== Summary ==
Enable secure remote installation via the Anaconda WebUI on Fedora
Atomic Desktop images. Users can boot a target machine with
<code>inst.webui.remote</code> and complete the installation from a
web browser on another machine over HTTPS with pin-based
authentication. This change is scoped to Atomic Desktop images
(Silverblue, Kinoite, etc.).

== Owner ==
* Name: [[User:bciconelle| Bruno Ciconelle]]
* Email: [email protected]


== Detailed Description ==
This change introduces remote installation as a '''tech preview''' for
Fedora Atomic Desktop images. Users can boot with
<code>inst.webui.remote</code> and complete the installation from a
web browser on another machine — no VNC/RDP client needed.

The Anaconda WebUI already supports remote access for development via
<code>inst.webui.remote</code>, but without authentication, TLS, or
configuration isolation. This change adds the production controls
needed to ship it as an opt-in feature:

* '''Pin-based authentication''' following the <code>inst.rdp</code>
pattern, with an opt-out (<code>inst.webui.remote.noauth</code>) for
development and trusted networks
* '''HTTPS with self-signed certificates''' — cockpit generates these
automatically
* '''Port 443''' by default so users connect with just
<code>https://&lt;ip&gt;</code>
* '''Isolated cockpit configuration''' under
<code>/etc/anaconda/cockpit/</code> to prevent installer settings from
leaking to the installed system

Remote access is '''not enabled by default''' — it must be explicitly
activated by the user via the <code>inst.webui.remote</code> boot
option. Without it, behavior is completely unchanged. This change is
scoped to Atomic Desktop images (see
[[Changes/BuildAtomicDesktopsWithImageBuilder]]).

== Feedback ==

The feature was
[https://fedoramagazine.org/web-based-remote-installation-for-fedora-linux-heres-what-were-building/
announced on Fedora Magazine] in June 2026 with a developer preview
and proof-of-concept. Community feedback included:

* '''mDNS discovery''': Suggestion to advertise the installer via mDNS
(e.g., <code>fedora-installer.local</code>) so users can find headless
machines without knowing their DHCP-assigned IP. Not in scope for this
initial MVP but noted as a valuable future improvement.
* '''Tablet/phone support''': Cockpit's PatternFly widgets are
responsive — storage configuration may be challenging on small screens
but tablets should work well.
* '''Lightweight boot ISO''': Interest in a minimal boot ISO without a
local browser that defaults to remote installation — a
headless/network-only variant. Not in scope for this change, but
aligns with the broader [[Changes/ModernizeBootISO]] effort.

== Benefit to Fedora ==

* '''New installation method''': Users can install Fedora Atomic
Desktops from any device with a web browser — no VNC/RDP client
software needed. This works from phones, tablets, Chromebooks, or any
machine on the same network.

* '''Better user experience than VNC/RDP''': The WebUI provides
copy-paste support, a responsive layout, and runs in a standard web
browser. No special client software to install or configure.

* '''Secure by default''': Unlike VNC (historically unencrypted,
8-character password limit), remote installation uses HTTPS with TLS
and user-set passwords. Authentication is required by default.

* '''Practical graphical installation on lightweight ARM SBCs''':
Devices like the Raspberry Pi have limited CPU and memory. Running a
local browser consumes resources better used by the installer itself.
With remote installation, the browser runs on the user's workstation
and the target device only serves the lightweight cockpit-ws process.

* '''Benefits any future boot.iso/netinst image that adopts the
WebUI''': This change lives in <code>anaconda</code> and
<code>anaconda-webui</code>, not in image-specific configuration. Any
new boot.iso or network install image that migrates from the GTK
interface to the WebUI — such as Fedora Server, which currently still
uses GTK — will automatically gain remote installation support with no
additional work. (Note: remote access on Live images is not
supported.)

* '''Community testing opportunity''': Landing in Fedora 45 Atomic
images gives the community a full release cycle to test, report
issues, and provide feedback before the feature is extended to other
image types.

== Scope ==
* Proposal owners:
** Modify <code>anaconda</code> to handle new boot options
(<code>inst.webui.remote.password</code>,
<code>inst.webui.remote.noauth</code>) in
<code>argument_parsing.py</code>
** Update <code>CockpitUserInterface</code> and the cockpit startup
flow to enable TLS, set port 443, and configure authentication based
on boot options
** Modify <code>anaconda-webui</code>'s
<code>cockpit-coproc-wrapper.sh</code> to conditionally remove
<code>--no-tls</code> and change port when remote is active
** Generate cockpit configuration under
<code>/etc/anaconda/cockpit/</code> at startup
** Implement password prompt on local console when password is missing
(following <code>inst.rdp</code> pattern)
** All changes are within the <code>anaconda</code> and
<code>anaconda-webui</code> packages

* Other developers: N/A

* Release engineering: N/A (no changes to image generation pipeline —
images already include cockpit and anaconda-webui)

* Policies and guidelines: N/A (not needed for this Change)

* Trademark approval: N/A (not needed for this Change)

* Alignment with the Fedora Strategy: This change aligns with the
Fedora strategy of making Fedora easier to install and use,
particularly for Atomic Desktops which are a focus area for Fedora's
future.

== Upgrade/compatibility impact ==

None. This change only affects the installation environment. No
configuration or data is carried to the installed system. Users who do
not use <code>inst.webui.remote</code> see no change whatsoever.

== How To Test ==

# Boot a Fedora 45 Atomic Desktop ISO (Silverblue, Kinoite, or similar)
# At the boot menu, add kernel options: <code>inst.webui.remote
inst.webui.remote.password=testpin</code>
# The installer will display the machine's IP address on the local console
# From another machine on the same network, open a browser and
navigate to <code>https://&lt;ip&gt;</code>
# Accept the self-signed certificate warning in the browser
# Enter <code>testpin</code> at the login prompt
# The Anaconda WebUI should load and allow you to proceed with the installation
# Test tab close (should reconnect without re-login) and browser close
(should require re-login)

'''Additional test cases:'''
* Boot with <code>inst.webui.remote</code> only (no password) —
installer should prompt for a password
* Boot with <code>inst.webui.remote inst.webui.remote.noauth</code> —
remote access should work without authentication
* Boot without <code>inst.webui.remote</code> — remote access should
NOT be available (current default behavior preserved)

== User Experience ==

See the 
[https://fedoramagazine.org/web-based-remote-installation-for-fedora-linux-heres-what-were-building/
Fedora Magazine article] for a detailed overview of the remote
installation experience and the ''How To Test'' section above for
step-by-step instructions.

Users who do not use <code>inst.webui.remote</code> will see no change
in their experience.

== Dependencies ==

The [https://github.com/rhinstaller/anaconda-webui anaconda-webui]
package is maintained by the installer team and has a dependency on
[https://cockpit-project.org/ Cockpit]. There are no unfinished work
items blocking this initiative.

== Contingency Plan ==

* Contingency mechanism: No action needed. The feature is opt-in and
in tech preview — it is only activated when the user explicitly passes
<code>inst.webui.remote</code> on the kernel command line. Without
this boot option, the installer behaves identically to previous
releases. An incomplete or buggy implementation does not affect normal
installation workflows. N/A (not a System Wide Change)
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? No. The feature is opt-in. If incomplete, remote
installation remains in its current development-only state. Local
installation and all other installation methods are completely
unaffected.

== Documentation ==

* [https://redhat.atlassian.net/browse/INSTALLER-3723 INSTALLER-3723]
— Epic tracking all remote installation work

== Release Notes ==

Fedora 45 introduces secure remote installation support for Atomic
Desktop images (Silverblue, Kinoite, and others). You can now install
Fedora from a web browser on another device by adding
<code>inst.webui.remote inst.webui.remote.password=YOURPIN</code> to
the kernel boot options. The installer uses HTTPS with a self-signed
certificate and listens on port 443, so you can connect by navigating
to <code>https://&lt;ip&gt;</code> from any web browser. This feature
is opt-in and in tech preview — installations without
<code>inst.webui.remote</code> are unaffected.

-- 
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney

-- 
_______________________________________________
devel-announce mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to