Pu

Puter on Ubuntu 24.04

Azure Applications

Puter, a self hosted web desktop: a browser based desktop environment and file manager backed by your own storage.

Base
Hardened build
minimal ports, security patches applied at build time
Access
Unique credentials
generated on first boot, readable only by root
Verified
Boots working
services pass a health gate before release
Support
24/7, 365 days
by email and live chat, 24 hour response SLA

Overview

Puter is an open source, self hosted desktop that runs entirely in a web browser. Open it and you get a real desktop environment, complete with a wallpaper, desktop icons, a task bar and draggable windows, on top of a full file manager for your own storage on your own server. Files and folders are created, renamed, moved between windows, uploaded, downloaded and shared with other accounts on the same instance, and each account also gets subdomains for publishing a static site or hosting a private web app. A developer platform sits underneath it: the puter.js SDK lets you build applications that use the instance's own file, key value and hosting APIs, so a single machine becomes both a personal cloud drive with a proper interface and a place to run what you build on top of it.

Why the cloudimg image

Upstream's own self hosting path is a six container stack, and its first start creates an administrator account with a temporary password it prints to the log and keeps in plain text in the database. cloudimg ships neither. The image is a single application service with an embedded database and object store behind one hardened reverse proxy, so there is no cluster of containers to babysit, and it contains no database, no accounts and no signing secrets at all. On first boot each machine generates its own token signing secrets, replaces that bootstrap administrator password with a random per machine one, erases the plain text copy upstream leaves behind, and only then opens the public port, so the temporary credential is never live on a reachable listener. Self registration is closed in the shipped configuration rather than switched off afterwards, and first boot proves it. cloudimg also fixes the defect that makes upstream's single node profile unusable on a server: file uploads are handed to the browser as presigned URLs pointing at the loopback address, so saving a file fails on every deployment that is not a laptop. Here the object store runs as its own service, is presigned against a browser reachable address, and is fenced to loopback by the kernel because it does no request signing of its own. Fully patched at build time, paired with a step by step deploy guide and 24/7 cloudimg support.

Common uses

  • Run a private, browser accessible desktop and personal cloud drive on your own server
  • Give a small team shared file storage with a real desktop interface instead of a folder listing
  • Build and host small web apps against a self hosted file and storage platform

See it running

Real screenshots taken while testing this image against its deployment guide.

Puter on Ubuntu 24.04 screenshot 1 Puter on Ubuntu 24.04 screenshot 2 Puter on Ubuntu 24.04 screenshot 3 Puter on Ubuntu 24.04 screenshot 4