CLOUDMORROW

Resources / User handbook

What it does

One server, your data, the apps around it, and every device.

What it does

  • Secrets. Your keys and passwords, in vaults you name (default until you name one) and environments inside them (local, production, whatever you call them), encrypted at rest. .env files in and .env files out, secret run to hand them to a process without a file, and values never in a listing unless you ask. Part of the foundation: an app is given a secret when you say so, and never owns one.
  • Quills. Everything beyond the foundation is a Quill from the Quill Catalog: Notes, Tasks, Calendar, Channels, Files and Secrets on a fresh server, and whatever is there next. One description is a tab on the phone, in the browser and in the terminal, a cm <quill> command, and tools for an assistant. Each Quill's own guide is on its catalog page; see Quills for how they are added, used and made.
  • A terminal app you can click. cm on its own opens the workspace: a card per Quill — Notes, Tasks, Files, Calendar, Channels, Secrets — because those are the kinds of thing there are. A vault is a row in a list, the same shape as a note, and its keys are beside it. Every row and button is a click target with a key beside it. The markdown editor is live — here and in the web app: the line the cursor is on stays raw source, and every other line renders as you leave it.
  • Encrypted at rest. Everything you write into the database — chat, events, tasks, secrets, synced dotfiles — is ciphertext on the server's disk, under one key the server holds. You never handle a key; you sign in with a password. See Encryption at rest.
  • Files are files. Your drive on the server is a folder: a note the Notes Quill writes is a Markdown file in its Notes folder, folders are folders, and a copy of the tree is a backup. grep works, rsync works, and so does any editor.
  • A local agent on each machine — registers itself when you sign in, runs as you, for backups and whatever comes next. The server has one too, so the box that holds everything is in the list with the rest of them.
  • My Files. A drive of your own on the server, there because your account is: cloudmorrow share mount my-files and it is a folder on this machine; in the app it is the first thing under Files.
  • Fileshares. A folder on the server with a name, served over WebDAV, and shared with the people and circles you pick — to change what is in it, or only to read it. Anybody makes one; an administrator may also share with everybody, and put a share on another directory on the server. It is mounted on whichever machine you are at: cloudmorrow share mount media and it is ~/Fileshares/media here, or /Volumes/media on a Mac. Finder does the mounting on macOS with nothing installed; on Linux it is rclone. Made, shared and mounted from the Files tab as well, which is the Files Quill: the files themselves stay where they are.
  • The count on the icon. Channels is why the web app has push. An app on a home screen is not running most of the time, so nothing it could poll would keep its badge right — a real Web Push wakes a service worker, which shows the banner and sets the number. The badge is everything waiting: what is unread in the spaces you are in plus unread notifications. See Push notifications.
  • Users. Password login, bearer tokens, per-user trees, and an admin API for creating more accounts. Every account has a role — Administrator, User, or DashboardDisplayer, which may only show dashboards on a shared screen — and a type, which is what is behind it rather than what it may do: Human, Agent, or SystemsUser for the machinery itself.
  • Administration. An administrator has one more thing on the top bar of the terminal app, left of Settings: Administration, which puts the whole workspace aside for the server's own panel — and the same panel is in the web app, behind a row in Me that only administrators are shown. Users is every account, added and edited there. Quills is what this server offers: every Quill installed, whether it is on and whether its code is running, the ones people added for themselves, and the catalog. Each Quill's sheet has its switch: off, and its tab is gone from every client and its API answers 403, because off ought to mean off rather than hidden.
  • And a switch of your own. The same list is in your own settings, in the terminal app and in Me on the phone, with your answer on each. Switching one off there takes its tab out of your clients, on every machine you sign in from — an account that never opens Calendar can stop being offered it. Only what the server offers is listed: a feature an administrator has switched off is not something you are shown at all, because a tick box you cannot have an opinion about is worse than no tick box. Yours hides where theirs forbids; see Two switches on every feature.
  • One install command, served by the server itself at /.
  • Claude can use it as you. The server is an MCP server too, at /mcp, with OAuth in front of it: add the address to Claude Desktop, claude.ai or Claude Code, sign in on the page that opens, and from then on "put milk on my shopping list" or "what did I write about the greenhouse" is a tool call on your own records — and only yours. Nothing to configure, and every assistant you let in can be cut off again; see An assistant working as you.
  • The web app. The same server serves it at /app: sign in, and every Quill is a tab, laid out the way a phone's apps are — a list, then the thing — and on a computer with a rail down the left. Add it to the home screen and it opens like an app. The pixel B in its bar says which app you are in. It follows a deploy on its own: an app on the home screen is opened and hidden for weeks without ever being loaded, so the page asks which deploy the server is serving whenever it comes back to the front, and reloads itself when the answer has changed — with no force close, and never out from under something you are writing.

From docs/MANUAL.md in the Cloudmorrow repository. Something wrong? A pull request there fixes it here.