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.
- log into Sally
- open the profile or API keys area
- create a hosted MCP key
- copy the hosted MCP endpoint and generated key
- 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