Skip to content

Install on any cloud server

My Own Suite is provider-agnostic: any host that can rent you a plain Ubuntu Server 24.04 LTS machine with at least 2 vCPU / 4 GB RAM will do. The whole install is one command in a browser terminal — nothing to install on your own computer. The installer works out the server’s public address by itself, and when it finishes it prints the link where you create your owner account.

Prefer to watch it first? Here is the whole thing, start to finish — the written steps below are the same install.

Recorded against an early beta, so a screen or two may have moved. Hosted on YouTube — nothing is requested from them until you press play. Player not working? Watch it on YouTube.

What you need

  • An account at any hosting provider (the recommended server size costs about $20–25/month — you can destroy the server at any time).
  • Nothing else. No SSH keys, no local tools — your browser does everything.

No provider account yet? DigitalOcean is the provider MOS is tested against. The button below is a referral link — signing up through it supports MOS with a small commission from DigitalOcean, at no extra cost to you.

Sign up at DigitalOcean through MOS's referral link Referral link
  1. Create the server in your provider’s dashboard: image Ubuntu 24.04 (LTS) x64, size at least 2 vCPU / 4 GB RAM.

    As a worked example, on DigitalOcean that is Create → Droplets, image Ubuntu 24.04 (LTS) x64, and a Basic shared-CPU droplet with 2 vCPU / 4 GB RAM (about $24/month). Other providers differ only in menu names. Don’t overthink the size — you can resize to a bigger plan later if your suite grows (see Good to know).

    If the form asks how you’ll log in, pick Password and set a strong server password — the browser console in the next step works without an SSH key. (Already use SSH keys? Feel free; everything else is the same.)

  2. Open the server’s web console. Every mainstream provider offers a browser terminal on the server’s page — look for a button named Console or Web console (DigitalOcean uses Web console, on the droplet’s page). It opens a terminal on the server in a browser tab, usually already signed in as root; if it asks who to log in as, choose root.

  3. Paste the install command and wait:

    Terminal window
    curl -fsSL https://get.myownsuite.org | sudo bash

    The install runs unattended — typically around 10 minutes, occasionally longer on a slow machine. It fetches the current reviewed MOS release, works out the server’s public address, and sets up Docker, the MOS platform, and its services. The command contains no passwords and no secrets — you will create your owner account yourself in the next step, in your browser. If you’d rather read the script first, open https://get.myownsuite.org/install.sh.

  4. Open the Finish-setup link the installer prints. The install ends with a green Installation complete banner and one link under Finish setup — open this link in your browser. That link carries a one-time setup key: open it, create your owner account straight away, and the key stops working. If the console makes the link clickable, click it; otherwise copy it into your browser exactly as printed — the key at the end is long, and a partial copy won’t be accepted. Then continue with Your first sign-in.

Prefer your own terminal — or does your provider’s console open a screen-share-style window where pasting doesn’t work? Connect over SSH from your computer instead; everything else is identical, including the printed Finish-setup link at the end:

Terminal window
ssh root@<your-server-ip>

Then run the same install command as above.

Section titled “Closed the terminal before opening the link?”

The setup key survives on the server. Reconnect (web console or SSH) and print it:

Terminal window
sudo cat /etc/mos/secrets/owner-claim.env

Copy the value after MOS_OWNER_CLAIM_TOKEN=, then open https://home.<your-server-ip>.sslip.io/suite-manager/?claim=<that-value> in your browser.

Advanced: give your apps more room than the server’s own disk

Section titled “Advanced: give your apps more room than the server’s own disk”

Your apps keep their data on the server’s system disk, which on a typical plan is smaller than it looks — the operating system, the app images, and the databases all share it. For a photo or file library that outgrows it, the only route today is to attach a larger block-storage volume before you install and let the container runtime use it:

  1. Create and attach the volume in your provider’s dashboard.
  2. Format and mount it at /var/lib/docker on the server, and add it to /etc/fstab so it survives a reboot.
  3. Run the install command as normal. Everything your apps store lands on the volume.

There is no setting for this in Suite Manager yet, and moving an existing install is not a supported operation — so decide before you install, not after. If your library is genuinely large, weigh the per-GB monthly cost against running MOS on your own hardware, where the disk is a one-time purchase.

Attach a separate persistent block-storage volume through your provider, format and mount it on this server, then select that mounted volume in Suite Manager. A USB disk attached to your own computer is not visible to a rented server. MOS has no direct object-storage destination today; provider snapshots are an additional provider-managed recovery layer, not a consistency-checked MOS backup. Use encrypted storage and read Back up and restore before storing data.

  • Your suite’s address is generated for you. It looks like https://home.<your-server-ip>.sslip.io/. sslip.io is a public convenience service: any address ending in your IP + .sslip.io automatically points at that IP, so your suite has a working web address instantly — no domain to buy, no DNS to configure.
  • HTTPS is automatic. MOS obtains a real (Let’s Encrypt) certificate for the generated sslip.io address, so your suite is served over HTTPS. The very first load can take a minute while the certificate is issued; if you see a brief certificate warning, wait and refresh.
  • Own domain instead of sslip.io: if you already have a domain, point an A record at the server and use your provider’s domain tooling for HTTPS. The built-in Cloudflare HTTPS flow is for self-hosted installs.
  • Start small — you can grow the server later. Most providers let you resize an existing server to a bigger plan when more apps need more resources. On DigitalOcean: power off the droplet, pick a larger plan under Resize, power back on — a few minutes of downtime, and the server keeps its IP address, so your suite’s web address and everything on it carry over untouched. Prefer a CPU and RAM only resize if you want the option to scale back down later (disk expansions can’t be undone), and take a provider snapshot first as a safety net.
  • Billing: at most providers a powered-off server still bills. To stop paying, destroy the server — backups first (see Back up and restore).
  • What the installer sets up: Docker, Node.js, the Caddy web server, Suite Manager, your Homepage dashboard, and the MOS host services — all as systemd services on the machine. Details in How MOS works.

Advanced: render the install file yourself

Section titled “Advanced: render the install file yourself”

The hosted command above is the recommended path. If you’d rather build the install file on your own computer first — to review every line before it runs — render it from the MOS repository instead. This needs Git and Node.js 22 on your machine:

Terminal window
git clone https://github.com/rpuls/my-own-suite.git
cd my-own-suite
npm run install:render -- --target ssh --public-ipv4 <your-server-ip>

This prints a single self-contained sudo bash … command (a readable script — no secrets inside), which you paste and run on the server. The --public-ipv4 value is used to derive your suite’s web address, home.<ip>.sslip.io.