sp add

Enable optional services on your ServicePlus deployment.

Usage

bash
sp add <service> [--version <tag>]

Optional flag — pin a specific version

By default, sp add auto-detects and installs the latest stable image for the service. To pin a specific version instead — useful for matching an existing setup or avoiding a known issue in a newer release — pass --version:

bash
# Install a specific n8n version
sp add n8n --version 1.50.0

# Install a specific Cal.com version
sp add calcom --version 5.0.0

# Install a specific PocketBase version
sp add pocketbase --version 0.22.0
The tag is validated against Docker Hub before the service is installed. The resolved version is stored in your encrypted config, so sp update and other commands stay consistent with what you chose.

Available services

ServiceWhat it adds
n8nWorkflow automation with 400+ integrations. Automatically provisions PostgreSQL + pgvector.
calcomSelf-hosted appointment booking at cal.yourdomain.com.
pocketbaseBackend-as-a-service with auth, database, and file storage at pb.yourdomain.com.
adminerDatabase management UI at db.yourdomain.com. Use temporarily; disable when not needed.

Examples

bash
# Add n8n automation (also provisions PostgreSQL + pgvector)
sp add n8n

# Add Cal.com appointment booking
sp add calcom

# Add PocketBase backend
sp add pocketbase

# Add Adminer database viewer (use temporarily)
sp add adminer

# Add a service pinned to a specific version
sp add n8n --version 1.50.0
When you add n8n, ServicePlus automatically provisions a PostgreSQL 16 database with the pgvectorextension enabled — this powers n8n's AI agent workflows and semantic search. If you later add Cal.com, it also uses this same PostgreSQL instance (in its own separate database).PocketBase is independent — it uses its own embedded SQLite database and does not touch PostgreSQL.

What happens when you add a service

  1. Pulls the Docker image for the service
  2. Generates secure credentials automatically
  3. Creates the necessary database and user
  4. Configures the Apache reverse proxy with a new subdomain
  5. Provisions a new SSL certificate for the subdomain
  6. Starts the container and verifies it is healthy

Best practices

  • Add services one at a time to make it easier to troubleshoot if something goes wrong
  • Run sp status after adding a service to confirm it is running
  • For Adminer: add it, do your work, then run sp remove adminer — do not leave it running permanently