sally docs

Install Sally on Ubuntu / Debian

This is the simplest end-to-end path for installing Sally on a fresh Ubuntu or Debian server.

It is written to be copy-paste friendly and follows the current recommended path: managed-simple.

What this guide does

  • installs Node.js
  • runs the Sally installer
  • lets Sally install Docker automatically if needed
  • sets up the web app, API, database, and HTTPS
  • prepares hosted Sally MCP usage

Before you start

You need:

  • an Ubuntu or Debian server
  • a domain already pointed to that server
  • root access or a user with sudo
  • SMTP credentials if you want invite and reset emails to work immediately

1. Connect to the server

ssh root@your-server-ip

2. Install Node.js

apt update && apt install -y curl ca-certificates gnupg && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" > /etc/apt/sources.list.d/nodesource.list && \
apt update && apt install -y nodejs

Check it:

node -v
npm -v
npx -v

3. Verify your domain points to the server

curl -4 ifconfig.me
dig +short projects.example.com

The domain must resolve to the server IP before you continue.

4. Run the installer

npx --yes create-sally@latest

5. Recommended installer choices

  • Install mode: managed-simple
  • Instance path: /opt/sally-instance
  • Version: latest
  • Workspace name: your real first workspace name
  • Superadmin email and name: the first operator account
  • TLS contact email: usually the same admin email
  • Email setup: configure SMTP now if you want invites and resets working immediately

SMTP example

SMTP host: email-smtp.eu-west-1.amazonaws.com
SMTP port: 587
SMTP username: YOUR_SMTP_USERNAME
SMTP password: YOUR_SMTP_PASSWORD
MAIL_FROM address: sally@yourdomain.com

6. What the installer does automatically

  • installs Docker if needed
  • pulls the latest Sally images
  • starts Postgres
  • applies the database schema
  • bootstraps the first superadmin and workspace
  • starts the web app, API, and HTTPS
  • prepares hosted MCP usage

7. Log in

Open your Sally URL in the browser and log in with the superadmin email plus the generated password shown at the end of install.

8. Test email delivery

After login, create or invite a test team member and confirm the invite email sends successfully.

9. Hosted MCP after install

Hosted MCP is now the primary path. Users do not need SSH access to the server and do not need to run a separate script on the machine.

  1. log into Sally
  2. open the profile or API keys area
  3. create a hosted MCP key
  4. copy the hosted MCP endpoint and generated key
  5. paste them into your MCP client config

Your hosted MCP endpoint will be:

https://your-domain.com/mcp

Example client config:

{
  "mcpServers": {
    "sally": {
      "url": "https://your-domain.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_HOSTED_MCP_KEY"
      }
    }
  }
}

10. Useful checks

cd /opt/sally-instance
docker compose ps
docker compose logs --tail=100 api
docker compose logs --tail=100 web
docker compose logs --tail=100 caddy
curl -I https://your-domain.com/api/health

11. Fast reinstall / cleanup

cd /opt/sally-instance && docker compose down -v
rm -rf /opt/sally-instance