Your files. Your apps. Your own space.
A personal desktop, powered by the Linux machine you control.
Get started · Releases · Features · Documentation
A workspace that feels like yours, wherever you open it.
EveryOS is a self-hosted personal OS experience that brings your files, applications and workspace together in a browser. It runs on your existing Linux installation and gives you a familiar desktop: windows, folders, a dock, search, settings and a space to make your own.
Keep documents in your personal home, organize your desktop, install self-hosted apps and see what your machine is doing. Open the same workspace from a laptop or use the mobile interface from your phone. Your data lives on the machine you choose to host it on.
The interface is available in English (the default), Turkish, German, Spanish, French, Italian, Japanese, Korean, Russian and Simplified Chinese. Each person picks their own language.
Move and resize windows, snap them into place and return to your saved layout. Switch between virtual desktops, pin apps to the dock and find them through the launcher. Widgets, notifications and the Pulse shelf keep useful information close to your work.
Bring Home Assistant into your workspace with a dedicated panel and desktop widgets. Choose all accessible entities without entering their IDs. Devices are recognized with their reported brand and model, logos and type symbols. Browse rooms and live states in a calm device overview, then open details for sensors and supported controls. Existing connection scopes stay under your control; access tokens remain on the server. Learn more in the Home Assistant guide.
Chat with a local model on your own server, Hermes Agent or OpenClaw from EveryOS. AI Assistants finds model servers such as Ollama, LM Studio, llama.cpp and vLLM, can install a shared Ollama (with NVIDIA or AMD GPU acceleration when available) and download models for you, and sets up agents step by step with a local or cloud model. Live menu bar indicators show state and open chat quickly. Conversations and keys are encrypted on your server. Learn more in the assistant guide.
Each account has a private home with Desktop, Documents, Downloads, Pictures, Music and Videos. The desktop shows the contents of your Desktop folder, so folders and files behave consistently across views. Select several items, draw a selection rectangle, drag between folders, preview images and edit text. Deleted files go to a private trash where they can be restored.
Administrators can also make selected host locations available with explicit access rules. Plug in a USB disk and it appears on the desktop and in Files; mount it with one click, and EveryOS can mount it by itself whenever it is plugged in. EveryOS never formats a disk or touches the system disk. Connect your own Google Drive to browse it in Files and copy files both ways; every upload and copy shows its speed and time left in the menu bar, the dock and the pulse. Learn more in the file manager, disks, Google Drive and transfers guides.
Browse supported catalogs in the App Store, install self-hosted applications and follow their deployment progress. Open the Docker app to inspect containers and manage supported lifecycle actions. EveryOS distinguishes its own deployments from external and protected resources.
Change an installed app's settings later, get notified when its catalog definition changes, and apply the update with your values kept. Deployment rollback and selected app-data backups are part of the same workspace. Docker must be installed on the host to use these features; the EveryOS installer does not install it automatically. See the App Store and Docker guides.
Start with the EveryOS mountain wallpaper, then choose a different background, upload your own image or give each virtual desktop its own look. Seven themes, accent colors, glass effects, icon sizes and rendering modes let you adjust the interface to your device and taste.
Choose a folder-icon preset or use your own image, globally or for an individual folder. Your appearance settings stay with your account.
See real CPU, memory, storage and network readings in System Monitor. Inspect services and logs, manage host packages and schedule supported tasks. Restart or shut down the host from the EveryOS menu, with a notice when installed updates need a restart. Notifications can also reach you through ntfy, Telegram, e-mail or a webhook (notifications). The menu bar shows battery and power details when the Linux host exposes those sensors, including charging state and watts where available.
The browser terminal connects to a real shell with independent windows and themes. An administrator links each EveryOS user to an existing Linux account in the Users app. Terminal and host file access use that account’s permissions; system management verifies its existing sudo rights. See Linux accounts and terminal.md. Unavailable host capabilities are explained in the interface.
Backups include the database, configuration, wallpapers and personal home folders, including desktop files and trash. Choose app data separately, verify archives and restore through the authenticated workflow. With a backup passphrase, copies are encrypted and sent off-site to another disk, S3-compatible storage or Google Drive; an encrypted copy carries the server secret, so a new machine restores it with the passphrase alone. EveryOS version updates are available from Settings → About, Updates → EveryOS and the CLI, with signed packages and supervised recovery.
See backups and updates for the operating details.
Install on a fresh Debian 12+, Ubuntu 22.04+ or compatible APT/systemd host, using ARM64 or AMD64. The detailed kernel, glibc and systemd requirements are in the installation guide.
curl -fsSL https://github.com/goktugcy/everyos/releases/latest/download/install.sh | sudo bashThe installer selects your architecture, installs missing prerequisites and verifies the signed release and package. The application includes its Node.js runtime; no repository clone, Node.js setup or pnpm installation is required.
The one-command path trusts the bootstrap delivered over HTTPS by the official GitHub release. For script inspection and independent publisher-key and signature verification, use the manual installation instructions.
-
On the Linux host, read the one-time setup token:
sudo cat /var/lib/everyos/setup-token
-
Open one of the network addresses printed by the installer, such as
http://192.168.1.20:7470or your host's Tailscale IPv4 address. The verified installer from 0.1.2 enables all IPv4 interfaces for a new installation, including loopback. A client using the Tailscale address must be connected to the same tailnet. For HTTPS, turn on Tailscale Serve or local-network HTTPS in Settings → Security → HTTPS (or use your own HTTPS reverse proxy). -
Complete the setup wizard, create your administrator account and make the desktop your own.
For an existing EveryOS installation, use Settings → About to check for and install a version update. The initial-installation command refuses an existing database.
- Private accounts. Personal home folders, server-side sessions, two-factor authentication with recovery codes, which administrators can require for administrators or everyone.
- Explicit permissions. Administrator, Operator and Viewer roles, with permissions enforced by the API and agent and security-relevant actions recorded in the audit log.
- A separate privilege boundary. The API runs unprivileged; host-management operations pass through a validated agent registry. The configured interactive terminal uses its Linux account's ordinary permissions.
- Verified updates. Publisher signatures, package identity and hashes are checked before installation. A supervised worker handles version updates and package/database recovery.
Read the security model or use SECURITY.md to report a vulnerability.
EveryOS publishes signed releases for arm64 and amd64 from GitHub; see the release notes. This README describes the current source tree; installed packages contain the code and assets from their release tag.
Every release comes from a commit of main that passed CI: lint, type checks, unit tests and the
browser tests (also over plain HTTP). Updates are verified from the oldest supported version
(packaging/release-policy.json), and Linux installation, updates and recovery have recorded
disposable-host acceptance results (phase8-acceptance.json,
security-acceptance.json). Planned
work is in the roadmap.
Use Node.js 26 and pnpm 12:
pnpm install
pnpm devOpen http://127.0.0.1:5173. The development stack prints its temporary setup token in the console.
pnpm check
pnpm build
pnpm test:e2eThe React client, Hono API, SQLite database, privileged agent and update worker are described in the architecture guide. See development.md and CONTRIBUTING.md to work on the project.
| Start here | Guide |
|---|---|
| Installation, CLI and recovery | Packaging |
| Host configuration | Configuration |
| Files, homes and trash | Files · Disks · Google Drive · Transfers |
| Self-hosted applications | App Store |
| Docker resources | Docker management |
| Browser shell access | Terminal |
| Personalization and visual assets | Branding · Folder icons and power |
| Widgets and integrations | Widgets |
| Scheduled operations | Tasks |
| Data protection and version updates | Backups · Updates |
| Remote access | Tailscale |
| APIs and extensions | API · Contracts |
EveryOS is released under the MIT License.

