Install with an AI assistant
mkdir -p ~/.claude/skills/cobblr-selfhost
curl -fsSL https://docs.cobblr.xyz/self-host/SKILL.md \
-o ~/.claude/skills/cobblr-selfhost/SKILL.md
Then ask Claude Code for what you want in your own words, on the machine you want Cobblr on: "install Cobblr on this box", "finish the install I started yesterday", "my instance stopped answering". The skill loads when the request matches, and it does the whole install, including checking that it worked.
What it will ask you
Three things, because three are all that cannot be guessed:
- The address you will open Cobblr at.
- Which HTTPS path you have available: a Tailscale network, a domain you own, or neither.
- The operator email, which gets the admin console and the alerts.
Everything else is defaulted. Secrets are generated, data goes in ./data,
ports are the usual ones, and the update channel is the one most people should
be on. If it starts asking you about backup retention, something has gone
wrong.
What it will not do
- It will not leave signup open. Once your account exists it sets
PUBLIC_SIGNUP_ENABLED=falsein the same sitting, rather than telling you to remember later. - It will not sign off until your encryption key is somewhere else. That value decrypts every workspace's database credentials, and losing it destroys the data in a way no backup fixes, so the skill asks you to confirm you have stored it off the box.
- It will not report success from a running container. A container can be up and serving nothing, so it checks the api answers, the app itself loads, and on a Tailscale install that a certificate actually issued.
If you would rather not hand over the shell
The setup builder does the same thinking in a browser and gives you the two files to run yourself, and Install is the same procedure written for a person. The skill is the version that also types.
Other assistants, and why the skill does not carry its own copy of the configuration
The file is plain markdown, so any assistant that can run shell commands can follow it. Paste it in, or point the assistant at the URL.
Every variable, service and profile the skill names is checked against the
compose file it installs, in the repository, on every change. An assistant
working from a stale copy does not hesitate: it writes a plausible variable
into your .env, the stack ignores it, and the install looks finished while
behaving wrongly. So the skill takes its facts from the files it installs and
is told to prefer the setup builder's output over anything it remembers.
For assistants answering questions about Cobblr generally rather than installing it, there is llms.txt and the whole manual as one file at llms-full.txt.