DotobotDocumentationAccount ↗

DOCUMENTATION / GET STARTED

Set up your Dotobot.

Install the server. Connect the app. Give your bots a task.

Read the agent instructions

Copy a setup request to paste into your AI agent.

Dotobot requires your own server or local machine. The app is where you work with your bots; the harness runs them on a remote server or dedicated always-on computer that you own or control, such as a Raspberry Pi or Mac mini. Your bots keep working when you close the app.

Your machine. Open-source harness.

The harness is free and open source under Apache 2.0. You run it and manage its security, updates and backups. The Mac app requires a subscription, which will also cover the iPhone app when available. The iPhone app is coming soon. You pay separately for your server and AI services.

Before you start

  • Use a remote server or dedicated always-on computer with a 64-bit Linux or macOS system (Intel/AMD or ARM) that can run Docker.
  • Use a terminal with Bash and an internet connection.
  • Make sure that you can approve administrator access.

Run the installer on the host that will run your bots. It uses Docker on that host and helps install Docker if it is absent. A Raspberry Pi needs a 64-bit Linux OS.

On a Mac mini, complete the Docker Desktop setup and keep Docker Desktop running so your bots stay available.

On Windows, use a Linux shell with Docker Desktop integration. Do not run the command in PowerShell.

Install Dotobot

Install the harness on the server or dedicated computer that will stay on for your bots. Download the Mac app to work with them; the iPhone app is coming soon.

Before running the command, check server connectivity and replace YOUR_PUBLIC_IP with your server’s public IP address.

  1. Download the app to the device you will use to connect.
  2. Open a terminal on your server, for example over SSH.
  3. Copy the command below into the terminal.
  4. Press Enter.
  5. Follow the installer instructions.

Download Dotobot

Download for Mac
iOS Coming soon

Open the downloaded disk image, then drag Dotobot into Applications.

Install the harness

Run this command in a terminal on your remote server or dedicated always-on computer. Replace YOUR_PUBLIC_IP with its public IP address. The harness is free and open source.

curl -fsSL https://dotobot.com/install.sh | bash -s -- --ip YOUR_PUBLIC_IP
Server requirements and setup guide

Wait until the installer shows a private link code. The code starts with dotobot_.

Keep the link code private.

The code gives access to your server. Do not put the code in a public message.

Server connectivity

Give your server a reachable HTTPS address so the Mac and iPhone apps can connect to it.

  1. Get the public IP address of your server.
  2. Allow incoming TCP connections on ports 80 and 443 in the server firewall.
  3. Open a terminal on the server.
  4. Replace YOUR_PUBLIC_IP with the public IP address.
  5. Run this command.
curl -fsSL https://dotobot.com/install.sh | bash -s -- --ip YOUR_PUBLIC_IP

The installer sets up HTTPS. A private network address cannot use a public IP certificate.

For a domain name, point the domain to your server. Use --domain bots.example.com instead of --ip YOUR_PUBLIC_IP.

A home router can require port forwarding. The installer does not provide a network tunnel.

Connect the app

  1. Open Dotobot on your Mac.
  2. Sign in to your Dotobot account.
  3. Open Your servers from the user menu.
  4. Paste the private link code from the installer.
  5. Follow the app instructions to complete the connection.

Use the same account and sign-in method on each device. Dotobot syncs your saved server connections between your devices. Accounts are not automatically merged because their email addresses match.

Use the HTTPS link code created by the server installation above. Your app connects to the server; the bots and their work stay on that host.

You can add more than one server in Your servers. Switching servers changes the bots and work you see; each server keeps its own data.

Find your link code again

Run this command on the server:

curl -fsSL https://dotobot.com/install.sh | bash -s -- --link

Connect your AI

  1. Open Providers in the app’s settings.
  2. Choose your AI provider and use the sign-in or API-key connection method shown.
  3. Create a bot or open an existing bot’s settings to choose its provider and model.
  4. Send a simple first message and check that you receive a reply.

Supported connection methods depend on the provider. AI provider credentials are stored on your server. Your Dotobot apps subscription does not include AI usage or change your provider’s plan limits.

Optional: Jev by TypeSafe

Jev can select relevant recalled memories before a reply. Connect your own TypeSafe API key and enable Jev in settings if you want to use it. Extra checks and fast browser actions are separate options. Your bot uses standard behavior if Jev is unavailable.

Review the information beside each option before enabling it: selected requests, memories or other task content are sent to TypeSafe. Usage, including connection tests, is billed to your TypeSafe account.

Connect tools and choose access

  1. Open Plugins and choose the service you want to connect.
  2. Follow that plugin’s sign-in or credential instructions.
  3. Choose which bots can use the connected account. You can allow all bots, select individual bots or turn access off.
  4. Name the service or connected account in your chat request. For example: “Use GitHub to list my open issues.”
  5. Start with a read-only task and check the returned result.

Connecting an account and giving a bot access are separate steps. If you have several accounts for one service, name the account you want the bot to use. Signing in to Dotobot with Google does not connect your Google Workspace tools.

Questions and approvals

Your server’s action-review settings determine which actions can run automatically and when a bot asks for approval. Read the action or question in its conversation before answering. Tell the bot about limits such as “draft this for review” or “read only” in your request.

If a bot cannot use a plugin, check its connection status, the bot’s access and whether your request names that service. Reconnect an expired or revoked account in Plugins.

Talk to your bots

Voice needs a supported provider configured for your server or bot. To use ElevenLabs, open Providers, connect your ElevenLabs API key and choose a voice from your library. Select ElevenLabs in your voice settings; connecting the key alone does not select it.

Review the named provider and audio-sharing information when the app asks for consent, then allow microphone access to start the call. With ElevenLabs, audio goes directly between your device and ElevenLabs; transcripts and your bot’s replies also pass through your server and selected AI provider.

With ElevenLabs, your bot keeps its existing AI model and tools. Voice usage is billed separately by your provider. Ending a call stops recording and playback; work the bot has already accepted can continue on your server.

If the selected voice is unavailable, check the provider key, usage allowance and voice selection in settings before calling again.

Your account and data

Manage a website subscription in Account → Subscription. If you subscribed through Apple, manage it in your Apple ID subscription settings. Cancelling keeps app access until the end of your paid period and does not stop your self-hosted server.

Your server holds your chats, files and bot memory. The services you select receive the information needed for their work. Dotobot’s account service stores your account details and saved server connections, including encrypted access keys. Connection sync is not end-to-end encrypted.

Notifications, message reports and connected Google Workspace accounts also involve Dotobot’s account service. Read the privacy policy for the data each feature shares and stores.

Removing a saved server or deleting your Dotobot account does not erase your self-hosted server, bots or files. Account deletion cancels a website subscription; cancel an Apple subscription separately. Rotate your server’s linking key if you need to revoke access from devices that already saved it.

Updates and backups

Back up your data

Back up the installation directory and the Docker volumes that contain bot data.

The default installation directory is ~/.local/share/dotobot. Bot homes and the shared workspace use Docker volumes.

If you set DOTOBOT_HOME, use that directory for your backup. Use the same value for later commands.

Update the server

  1. Make a backup before an update.
  2. Run this command on the server.
  3. Wait until the update is complete.
  4. Open the app and check the server connection.
curl -fsSL https://dotobot.com/install.sh | bash -s -- --update

The server and native apps update separately. Keep both up to date; downloading a new app does not update your server. Closing the app does not stop the server.

Remove the server software

This command removes the installation and keeps your data:

curl -fsSL https://dotobot.com/install.sh | bash -s -- --uninstall

The command does not remove Docker or other services.

Troubleshooting

The installer cannot connect to Docker

Start Docker. On Mac, open Docker Desktop and complete its setup. Run the installer again.

The app cannot connect to the server

  • Make sure that the server and Docker are running.
  • Check that your device can reach the server address.
  • For a remote server, check the firewall ports and domain records.
  • If you changed the server key, select Relink in the app. Paste the new link code.

The installer stops with an error

Read setup.log in the installation directory. The log contains installer diagnostics.

Your subscription is missing

Use the same Dotobot account and sign-in method used for the purchase. This also applies to Sign in with Apple and Hide My Email. For an App Store purchase, use Restore purchases in the app.

A new setting or plugin is missing

Check for updates to both your app and server. If a connection still fails, open Providers or Plugins and review its status. A connected account also needs to be enabled for the bot you are using.

For more help, email [email protected]. Describe the step that failed and the error message.

Do not send passwords, link codes, server keys, or AI credentials.