Credentials. The .env file passed to the container holds your model key and encryption key, so restrict who can read the host and the mounted volume.
Who it is forAn IT or DevOps engineer who needs to host an internal AI assistant for colleagues on one machine without Kubernetes.
The problemSetting up separate app, API, browser, and database services by hand is slow, and the default single-user mode is unsafe for other people.
The outcomeA running Open Bot container on port 3001 with its data in a named volume, ready for sign-in to be configured before others use it.
What you need first
- Docker, for PostgreSQL and the shipped Bots
- Bun 1.3 or later
- A CopilotKit account to run `npx --yes copilotkit@latest login`, or a self-hosted Intelligence deployment
- An OpenAI API key for the proof-of-concept Bot
Steps
- Run
docker run -p 3001:3001 --env-file .env -e EMBEDDED_POSTGRES=on -v openbot-data:/var/lib/postgresql ghcr.io/copilotkit/openbot:latest. (inferred, check the README) - Pin a release by replacing
latestwith a version tag such as:v0.0.9if you need a fixed build. - Configure sign-in as described in the README's Sign-in section before anyone else can reach the deployment.
- Check that the app loads on port 3001 and that the database volume
openbot-dataexists. - Run
scripts/stop.shon your local clone only when you need to stop local services, since it leaves volumes intact.
Prompt for your agent
For the OpenBot repository at <repo-path>, deploy the image ghcr.io/copilotkit/openbot:latest with the README's docker run command and the local .env file. Report whether the container answers on port 3001 and confirm that sign-in is configured before the URL is shared.
Caveat. The README says the example KEY_ENCRYPTION_KEY is public and fine only for local use, so generate your own with openssl before any shared deployment.
Get 5 new use cases every morning. Free, one short email, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Disclaimer
Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked "Seen in the wild", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email [email protected] and we will look at it promptly. Full disclaimer page